30 #ifndef PNDBARRELTRACKFINDER_H 31 #define PNDBARRELTRACKFINDER_H 1 35 #include "FairTSBufferFunctional.h" 37 #include "TStopwatch.h" 91 virtual void Exec(Option_t *opt);
93 void UseMvdSttGem(
const Bool_t useMvd,
const Bool_t useStt,
const Bool_t useGem);
101 Bool_t fRunTimeBased;
103 double fStopTimeValue;
107 TEllipse *fEllipse[1000];
113 TH1F *fClonesZ_PhiDiff;
114 TH1F *fClonesXDiffRel;
115 TH1F *fClonesYDiffRel;
116 TH1F *fClonesRDiffRel;
117 TH1F *fClonesZ_PhiDiffRel;
119 TH1F *fhHitDist[5][3];
121 std::vector<TrackBasis> fTracksVector;
123 std::vector<Int_t> fHitDetId;
124 std::vector<Int_t> fHitDetNo;
126 std::vector<FairHit *> fHitVector;
127 std::vector<Int_t> fHitVectDI;
128 std::vector<Int_t> fHitVectHN;
130 Bool_t fIncludeDet[4];
131 TClonesArray *fHitArray[4];
134 TString fHitArrayName[4];
137 TClonesArray *fBarrelTrackArray;
138 TClonesArray *fBarrelTrackCandArray;
144 double fRadToMomConversion;
146 Double_t fMaximalDist;
147 Double_t fReasonableDist;
148 Double_t fMaximalZ_PhiD;
149 Double_t fReasonableZ_PhiD;
150 Double_t fMaximalRadDiff;
151 Double_t fMaximalPhiDiff;
153 Bool_t MatchHitToTrack(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
154 Bool_t MatchSkewedSttHitTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
155 Bool_t MatchParallelSttHitTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
156 Bool_t MatchHitWithZInfoTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
158 Bool_t ExtractMeanRPhiFromTrack(Int_t trackNo);
159 Bool_t ExtractMeanZ_PhiFromTrack(Int_t trackNo);
161 Bool_t MatchHitToHit(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t prevHNo);
162 void RemoveHitFromPreviousHits(Int_t hitNo);
164 Bool_t HitBelongsToTrack(Int_t detId, Int_t hitNo, Int_t trackNo);
166 void AddHitToPreviousHits(FairHit *thisHit, Int_t detId, Int_t hitNo);
173 void RemoveShortTracks();
174 void RemoveCloneTracks();
176 Bool_t FindCircPar(Double_t *c1, Double_t *c2, Double_t *c3, Int_t cno, Double_t *cl);
177 Double_t FindCircDist(Double_t *c1, Double_t *c2);
178 Int_t FindInterestingRegions(Double_t *circ, Double_t *tube, Double_t *reg);
180 Double_t CalcPhi(Double_t
x, Double_t
y);
181 Double_t CalcZ_Phi(Double_t *circ, Double_t hx, Double_t hy, Double_t hz);
184 virtual void SetParContainers();
187 TClonesArray *fTubeArray;
192 virtual InitStatus Init();
195 virtual InitStatus ReInit();
201 virtual void Finish();
void DrawHistos(Bool_t tb=kTRUE)
Digitization Parameter Class for GEM part.
std::vector< Int_t > trackHitD
std::vector< FairHit * > trackHits
std::vector< Int_t > trackHitN
void DrawDetails(Bool_t tb=kTRUE)
void SetRunTimeBased(Bool_t val=kTRUE)
std::vector< TrackParameter > trackPars