~christopher-hunt08/maus/maus_integrated_kalman

« back to all changes in this revision

Viewing changes to src/common_cpp/Recon/SciFi/PatternRecognition.hh

merging in changes in merge branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include <string>
32
32
 
33
33
// ROOT headers
 
34
#include "TFile.h"
 
35
#include "TH1D.h"
34
36
#include "TMatrixD.h"
35
37
 
36
38
// Third party library headers
54
56
 
55
57
    /** Macro to allow friendship with the gtests */
56
58
    FRIEND_TEST(PatternRecognitionTest, test_constructor);
 
59
    FRIEND_TEST(PatternRecognitionTest, test_set_parameters_to_default);
 
60
    FRIEND_TEST(PatternRecognitionTest, test_setup_debug);
57
61
 
58
62
    /** @brief Default constructor. Initialise variables,
59
63
     *         using globals if available, otherwise local defaults 
291
295
    /** @brief A function to set all the internal parameters to their default values (for tests) */
292
296
    void set_parameters_to_default();
293
297
 
 
298
    /** @brief Place the different cut value currently being used into the variables supplied */
294
299
    void get_cuts(double& res_cut, double& straight_chisq_cut, double& R_res_cut,
295
300
       double& circle_chisq_cut, double& n_turns_cut, double& sz_chisq_cut);
296
301
 
 
302
    /** @brief Set the various cuts used in Pattern Recognition */
297
303
    void set_cuts(double res_cut, double straight_chisq_cut, double R_res_cut,
298
 
       double circle_chisq_cut, double n_turns_cut, double sz_chisq_cut);
 
304
        double circle_chisq_cut, double n_turns_cut, double sz_chisq_cut);
 
305
 
 
306
    /** @brief Activate debug mode (set up the output ROOT file, histos, etc) */
 
307
    void setup_debug();
299
308
 
300
309
  private:
 
310
    bool _debug;                /** Run in debug mode */
301
311
    bool _up_straight_pr_on;    /** Upstream straight pattern recogntion on or off */
302
 
    bool _down_straight_pr_on;    /** Downstream straight pattern recogntion on or off */
 
312
    bool _down_straight_pr_on;  /** Downstream straight pattern recogntion on or off */
303
313
    bool _up_helical_pr_on;     /** Upstream Helical pattern recogntion on or off */
304
314
    bool _down_helical_pr_on;   /** Downstream Helical pattern recogntion on or off */
305
315
    int _verb;                  /** Verbosity: 0=little, 1=more couts */
320
330
    double _Pt_max;             /** MeV/c max Pt for h tracks (given by R_max = 150mm) */
321
331
    double _Pz_min;             /** MeV/c min Pz for helical tracks (this is a guess) */
322
332
    // LeastSquaresFitter _lsq;  /** The linear least squares fitting class instance */
 
333
    TFile* _rfile;   /** A ROOT file pointer for dumping residuals to in debug mode */
 
334
    TH1D* _hx;       /** histo of x residuals taken during straight road cut stage */
 
335
    TH1D* _hy;       /** histo of y residuals taken during straight road cut stage */
 
336
    TH1D* _hxchisq;  /** histo of chisq of every x-z straight least sq fit tried */
 
337
    TH1D* _hychisq;  /** histo of chisq of every y-z straight least sq fit tried */
323
338
};
324
339
 
325
340
} // ~namespace MAUS