40 hitinfo(TVector3 v3, Double_t phxi, Double_t txi, Double_t tyi)
70 candvec(Double_t momi, std::map<Int_t, Int_t> stahi)
86 virtual InitStatus
Init();
89 virtual void Exec(Option_t* opt);
103 void ReadTxInfo(TString fileName);
104 Int_t ExcludeHits(Int_t minHits, TClonesArray* trArray);
105 std::set<Int_t> GetHitId(
CbmStsHit* hit, Int_t& idmaxP);
106 std::set<Int_t> GetHitIdBmn(
CbmStsHit* hit, Int_t& idmaxP);
107 std::set<Int_t> GetHitId(Int_t hitInd, Int_t& idmaxP)
109 return GetHitId((
CbmStsHit*)fHitArray->UncheckedAt(hitInd), idmaxP);
113 void BuildDoublets();
114 int FindBin(
int ista, Float_t binw, Float_t tx);
115 Float_t BinCenterTx(
int ista,
int ibin, Float_t binw);
116 void DTxWindow(
int ista2, Float_t tx,
int idu, Float_t curvCut, Float_t* dtx);
117 Bool_t CheckVarx(Double_t dx, Double_t dz, Double_t tx, Double_t distxz, Double_t& varx);
118 void BuildTriplets();
120 void ExtendTrack(candvec cand);
121 Double_t FitTrack(candvec& cand);
122 Double_t FilterHit(candvec& cand,
CbmStsTrack& track);
123 void MakeStsTrack(candvec& cand, std::string& hitcode,
CbmStsTrack& track);
124 void ExtendTracks(Int_t ista);
125 TVector3 Parabola(TVector3& pos0, TVector3& pos1, TVector3& pos2,
int ix = 0);
127 void RemoveDoubles();
131 Double_t DxVsMom(Int_t ista, candvec& aaa);
132 Double_t Proxim(Double_t ang1, Double_t ang2);
134 Double_t LinearFit(candvec& cand, candvec& cand2,
CbmStsTrack* tr, Int_t newtr, Double_t& ty);
135 Double_t Curv3(candvec& cand1, candvec& cand2, candvec& cand3,
int newtr3);
136 std::set<int> KalmanWindow(candvec& cand,
int hitIndx);
137 std::string MakeCode(candvec& cand);
138 void PrintHits(candvec& cand);
140 Float_t TMVAOutput3(candvec& aaa1, candvec& aaa2,
int mult2);
142 Float_t TMVAOutput2(candvec& aaa1);
143 void InitTMVAtracks();
144 void TMVAOutputTra();
148 TClonesArray *fClusArray[4], *fHitArray, *fTrackArray, *fDigiMatches, *fStsPoints, *fSilPoints, *fVspPoints;
149 TClonesArray* fVectorArray;
161 std::multimap<Double_t, Int_t> fmapTx[19], fmapTy[19], fmapX[19], fmapY[19];
162 std::vector<candvec> fSeedVec[19];
163 std::vector<candvec> fCandVec[19];
164 std::set<string> fCandCodes[19];
168 std::vector<candvec> fCandVec2[19];
169 std::unordered_map<std::string, int> fMap2Out;
171 std::unordered_map<std::string, int> fMap3Out;
173 std::ofstream fStream2out;
174 std::ofstream fStream3out;
176 std::unordered_multimap<int, int> fMap2[19];
178 std::vector<candvec> fCandVec3[19];
180 std::unordered_multimap<int, int> fMap3[19];
182 std::unordered_map<std::string, int> fMapCode3[19];
184 std::multimap<Double_t, CbmStsTrack> fTracks;
186 std::unordered_map<Int_t, hitinfo> fmapHits;
188 std::unordered_multimap<Int_t, Int_t> fHit2id, fClusMaps[2];
189 Int_t *fNhitsMin, fNskips[20];
190 Double_t *fdTanX, *fdTanY, *fdTanY3, *fdTanXB0, *fPhiXZ, *fTanXmax, *fZmean, *fPTcut, *fCurvSta;
193 std::set<string> fCandSet[19];
196 std::unordered_multimap<int, int> fTxBins[19];
197 std::unordered_map<int, std::unordered_map<int, std::vector<Float_t>>> fStatData;
201 TString fMatBudgetFileName;
206 Float_t fVarTMVA[20];
208 std::map<int, TMVA::Reader*> fReadersTMVA3;
209 TMVA::Reader* fReaderTMVA2;
210 std::map<int, TMVA::Reader*> fTmvaReaders;
213 TString fGemConfigFile;
214 TString fSilConfigFile;