StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
FtfPara.h
1 #ifndef FTFPARA
2 #define FTFPARA
3 #include <stdio.h>
4 //:>------------------------------------------------------------------
5 //: FILE: FtfPara.h
6 //: HISTORY:
7 //: 28oct1996 version 1.00
8 //: 7dec1998 ppy variable names changed to C++ style
9 //: 3jun1999 ppy add fillTracks flag
10 //: 11aug1999 ppy add vertexConstrainedFit variable
11 //: 23aug1999 ppy add ROOT option
12 //: 19nov1999 ppy add maxChi2Primary to decide whether track is primary
13 //: 11feb2000 ppy add maxTime
14 //: 28mar2000 ppy add parameterLocation variable
15 //: 30mar2000 ppy add parameters to merge secondaries
16 //: 8aug2000 ppy add zMax
17 //:
18 //:<------------------------------------------------------------------
19 //:>------------------------------------------------------------------
20 //: CLASS: FtfPara
21 //: AUTHOR: ppy - Pablo Yepes, yepes@physics.rice.edu
22 //:>------------------------------------------------------------------
23 
24 class FtfPara {
25  public:
26  FtfPara ( ) { setDefaults() ; } ;
27  void setDefaults ( ) ;
28  void read ( char* inputFile ) ;
29  void write ( char* outputFile ) ;
30  void write ( FILE* outFile ) ;
31 
32  int infoLevel; // Level of information printed about progress
33  int segmentRowSearchRange; // Row search range for segments
34  int trackRowSearchRange; // Row search range for tracks
35  int dEdx ; // dEdx switch
36  int dEdxNTruncate ; // # points to truncate in dEdx
37  int minHitsForDedx; // cs: min number of hits for dEdx calculation
38  int eventReset ; // Flag to reset event in fft
39  int getErrors ; // Flag to switch error calculation
40  int fillTracks ; // Flag to switch FtfTrack class filling
41  int ghostFlag ; // =1 when there are ghost hits
42  int goBackwards ; // Flag to go backwards at the end of track reco
43  int init; // Control initialization
44  int mergePrimaries ; // Switch to control primary merging
45  int minHitsPerTrack; // Minimum # hits per track
46  int modRow; // Modulo pad row number to use
47  int nHitsForSegment; // # hits in initial segments
48  int minHitsForFit;
49  int nEta; // # volumes in eta
50  int nEtaTrack; // # Track areas in eta
51  int nPhi; // # volumes in nphi
52  int nPhiTrack; // # Track areas in nphi
53  int nPrimaryPasses; // # iterations looking for primaries
54  int nSecondaryPasses;// # iterations looking for secondaries
55  int vertexConstrainedFit; //
56  int parameterLocation; // 1=inner most point, 0=closest approach
57  float maxChi2Primary ; // maximum chi2 to be considered primary
58  int rowInnerMost; // Row where end track search
59  int rowOuterMost; // Outer most row to consider tin tracking
60  int rowStart; // Row where start track search
61  int rowEnd ; // Row where end track search
62  int szFitFlag; // Switch for sz fit
63  float bField ; // Magnetic field (magnitude = >0)
64  int bFieldPolarity; // polarity of field (1 or -1)
65  float hitChi2Cut; // Maximum hit chi2
66  float goodHitChi2; // Chi2 to stop looking for next hit
67  float trackChi2Cut; // Maximum track chi2
68  float deta; // Eta search range
69  float dphi; // Phi search range
70  float detaMerge ; // Eta difference for track merge
71  float dphiMerge ; // Phi difference for track merge
72  float distanceMerge ; // Maximum distance for reference point to merge secondaries
73  float etaMin; // Min eta to consider
74  float etaMinTrack ; // Track min eta to consider
75  float etaMax; // Max eta to consider
76  float etaMaxTrack ; // Track max eta to consider
77  float goodDistance ; // In segment building
78  // distance consider good enough
79  float phiMin; // Min phi to consider
80  float phiMinTrack ; // Track min phi to consider
81  float phiMax; // Max phi to consider
82  float phiMaxTrack ; // Track max phi to consider
83  float phiShift ; // Shift in phi when calculating phi
84  float ptMinHelixFit ; // Minimum pt to apply helix fit
85  float maxDistanceSegment; // Maximum distance for segments
86  float segmentMaxAngle; // Maximum angle between to consecutive track pieces
87  // when forming segments. A piece is the connection
88  // two hits
89  float szErrorScale; // sz error scale
90  float xyErrorScale; // xy error scale
91  float xVertex ; // x position primary vertex
92  float yVertex ; // y position primary vertex
93  float dxVertex ;
94  float dyVertex ;
95  float zVertex ;
96  float xyWeightVertex; // Weight vertex in x-y
97  float phiVertex ;
98  float rVertex ;
99  float maxTime ; // maxTime tracker can run
100  int phiClosed ;
101  int primaries ;
102  int nRowsPlusOne, nPhiPlusOne ; // Number volumes + 1
103  int nEtaPlusOne, nPhiEtaPlusOne ; // Number volumes + 1
104  int nPhiTrackPlusOne, nEtaTrackPlusOne ;
105  float phiSlice, etaSlice ;
106  float phiSliceTrack, etaSliceTrack ;
107  float zMax ;
108 #ifdef TRDEBUG
109  int trackDebug ;
110  int hitDebug ;
111  int debugLevel ;
112 #endif
113 } ;
114 #endif
115