18 #ifndef PNDBARRELTRACKFINDER_H 19 #define PNDBARRELTRACKFINDER_H 1 23 #include "FairTSBufferFunctional.h" 25 #include "TStopwatch.h" 79 virtual void Exec(Option_t *opt);
81 void UseMvdSttGem(
const Bool_t useMvd,
const Bool_t useStt,
const Bool_t useGem);
91 double fStopTimeValue;
95 TEllipse *fEllipse[1000];
101 TH1F *fClonesZ_PhiDiff;
102 TH1F *fClonesXDiffRel;
103 TH1F *fClonesYDiffRel;
104 TH1F *fClonesRDiffRel;
105 TH1F *fClonesZ_PhiDiffRel;
107 TH1F *fhHitDist[5][3];
109 std::vector<TrackBasis> fTracksVector;
111 std::vector<Int_t> fHitDetId;
112 std::vector<Int_t> fHitDetNo;
114 std::vector<FairHit *> fHitVector;
115 std::vector<Int_t> fHitVectDI;
116 std::vector<Int_t> fHitVectHN;
118 Bool_t fIncludeDet[4];
119 TClonesArray *fHitArray[4];
122 TString fHitArrayName[4];
125 TClonesArray *fBarrelTrackArray;
126 TClonesArray *fBarrelTrackCandArray;
132 double fRadToMomConversion;
134 Double_t fMaximalDist;
135 Double_t fReasonableDist;
136 Double_t fMaximalZ_PhiD;
137 Double_t fReasonableZ_PhiD;
138 Double_t fMaximalRadDiff;
139 Double_t fMaximalPhiDiff;
141 Bool_t MatchHitToTrack(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
142 Bool_t MatchSkewedSttHitTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
143 Bool_t MatchParallelSttHitTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
144 Bool_t MatchHitWithZInfoTT(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t trackNo);
146 Bool_t ExtractMeanRPhiFromTrack(Int_t trackNo);
147 Bool_t ExtractMeanZ_PhiFromTrack(Int_t trackNo);
149 Bool_t MatchHitToHit(FairHit *thisHit, Int_t detId, Int_t hitNo, Int_t prevHNo);
150 void RemoveHitFromPreviousHits(Int_t hitNo);
152 Bool_t HitBelongsToTrack(Int_t detId, Int_t hitNo, Int_t trackNo);
154 void AddHitToPreviousHits(FairHit *thisHit, Int_t detId, Int_t hitNo);
161 void RemoveShortTracks();
162 void RemoveCloneTracks();
164 Bool_t FindCircPar(Double_t *c1, Double_t *c2, Double_t *c3, Int_t cno, Double_t *cl);
165 Double_t FindCircDist(Double_t *c1, Double_t *c2);
166 Int_t FindInterestingRegions(Double_t *circ, Double_t *tube, Double_t *reg);
168 Double_t CalcPhi(Double_t
x, Double_t
y);
169 Double_t CalcZ_Phi(Double_t *circ, Double_t hx, Double_t hy, Double_t hz);
172 virtual void SetParContainers();
175 TClonesArray *fTubeArray;
180 virtual InitStatus Init();
183 virtual InitStatus ReInit();
189 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