MarlinTrkProcessors  2.4.1
TrackFindingParameters.h
1 #ifndef TRACKFINDINGPARAMETERS_H
2 #define TRACKFINDINGPARAMETERS_H
3 //
4 // Based on the FTF code written by Pablo Yepes.
5 //
6 // P. Yepes, “A fast track pattern recognition,”
7 // Nuclear Instruments & Methods in Physics Research A
8 // 380(1996) pp. 582-585.
9 //
10 
11 #include <stdio.h>
12 
13 namespace ftf
14 {
16  {
17  public:
18  TrackFindingParameters( ) { setDefaults() ; } ;
19  void setDefaults( ) ;
20  void read( char* inputFile ) ;
21  void write( char* outputFile ) ;
22  void write( FILE* outFile ) ;
23  void print();
24 
25  int infoLevel; // Level of information printed about progress
26  int segmentRowSearchRange; // Row search range for segments
27  int trackRowSearchRange; // Row search range for tracks
28  int dEdx ; // dEdx switch
29  int dEdxNTruncate ; // # points to truncate in dEdx
30  int eventReset ; // Flag to reset event in fft
31  int getErrors ; // Flag to switch error calculation
32  int fillTracks ; // Flag to switch FtfTrack class filling
33  int ghostFlag ; // =1 when there are ghost hits
34  int goBackwards ; // Flag to go backwards at the end of track reco
35  int init; // Control initialization
36  int mergePrimaries ; // Switch to control primary merging
37  int minHitsPerTrack; // Minimum # hits per track
38  int modRow; // Modulo pad row number to use
39  int nHitsForSegment; // # hits in initial segments
40  int minHitsForFit;
41  int nEta; // # volumes in eta
42  int nEtaTrack; // # Track areas in eta
43  int nPhi; // # volumes in nphi
44  int nPhiTrack; // # Track areas in nphi
45  int nPrimaryPasses; // # iterations looking for primaries
46  int nSecondaryPasses;// # iterations looking for secondaries
47  int vertexConstrainedFit; //
48  int parameterLocation; // 0=inner most point, 1=closest approach
49  double maxChi2Primary ; // maximum chi2 to be considered primary
50  int rowInnerMost; // Row where end track search
51  int rowOuterMost; // Outer most row to consider tin tracking
52  int rowStart; // Row where start track search
53  int rowEnd ; // Row where end track search
54  int szFitFlag; // Switch for sz fit
55  double bField ; // Magnetic field
56  double hitChi2Cut; // Maximum hit chi2
57  double goodHitChi2; // Chi2 to stop looking for next hit
58  double trackChi2Cut; // Maximum track chi2
59  double deta; // Eta search range
60  double dphi; // Phi search range
61  double detaMerge ; // Eta difference for track merge
62  double dphiMerge ; // Phi difference for track merge
63  double distanceMerge ; // Maximum distance for reference point to merge secondaries
64  double etaMin; // Min eta to consider
65  double etaMinTrack ; // Track min eta to consider
66  double etaMax; // Max eta to consider
67  double etaMaxTrack ; // Track max eta to consider
68  double goodDistance ; // In segment building
69  // distance consider good enough
70  double phiMin; // Min phi to consider
71  double phiMinTrack ; // Track min phi to consider
72  double phiMax; // Max phi to consider
73  double phiMaxTrack ; // Track max phi to consider
74  double phiShift ; // Shift in phi when calculating phi
75  double ptMinHelixFit ; // Minimum pt to apply helix fit
76  double maxDistanceSegment; // Maximum distance for segments
77  double segmentMaxAngle; // Maximum angle between to consecutive track pieces
78  // when forming segments. A piece is the connection
79  // two hits
80  double szErrorScale; // sz error scale
81  double xyErrorScale; // xy error scale
82  double xVertex ; // x position primary vertex
83  double yVertex ; // y position primary vertex
84  double dxVertex ;
85  double dyVertex ;
86  double zVertex ;
87  double xyWeightVertex; // Weight vertex in x-y
88  double phiVertex ;
89  double rVertex ;
90  double maxTime ; // maxTime tracker can run
91  int phiClosed ;
92  int primaries ;
93  int nRowsPlusOne, nPhiPlusOne ; // Number volumes + 1
94  int nEtaPlusOne, nPhiEtaPlusOne ; // Number volumes + 1
95  int nPhiTrackPlusOne, nEtaTrackPlusOne ;
96  double phiSlice, etaSlice ;
97  double phiSliceTrack, etaSliceTrack ;
98 
99  //#define TRDEBUG 1
100 #ifdef TRDEBUG
101  int trackDebug ;
102  int hitDebug ;
103  int debugLevel ;
104 #endif
105  } ;
106 
107 } // end namespace ftf
108 #endif
Definition: TrackFindingParameters.h:15