Go to the documentation of this file.
12 #ifndef CBML1CATRDTRACKFINDERSA_HITS
13 #define CBML1CATRDTRACKFINDERSA_HITS
19 #include "TStopwatch.h"
55 Int_t
DoFind(TClonesArray* hitArray, TClonesArray* trackArray);
174 std::vector<LayerWithHits> vTrdHitArrayB,
175 std::vector<CbmL1TrdTracklet*>& clSpacePointsAB,
179 void CreateSegments(std::vector<CbmL1TrdTracklet*> clSpacePointsAB,
180 std::vector<CbmL1TrdTracklet*> clSpacePointsCD,
181 std::vector<CbmL1TrdTracklet4*>& clTrackletsAD,
185 void TagSegments(std::vector<CbmL1TrdTracklet4*>& clTrackletsA,
186 std::vector<CbmL1TrdTracklet4*>& clTrackletsB,
187 Int_t noCombSegments = 0);
189 void CreateTracks(std::vector<CbmL1TrdTracklet4*> clTracklets14,
190 std::vector<CbmL1TrdTracklet4*> clTracklets58,
191 std::vector<CbmL1TrdTracklet4*> clTracklets912,
192 std::set<Int_t>& setUsedHits,
193 Bool_t removeUsedHits,
194 Bool_t competition =
true,
198 std::vector<CbmL1TrdTracklet4*> clTracklets58,
199 std::vector<CbmL1TrdTracklet4*> clTracklets912);
204 std::vector<CbmL1TrdTracklet4*>& v2,
214 Double_t
Fit(Int_t M[]);
217 Double_t
FitLSM(Int_t M[]);
221 Bool_t
Rejection(Double_t Procent, Int_t num = 100);
Double_t totSecondLoopTime
void DeleteTracklets(std::vector< CbmL1TrdTracklet4 * > vect)
Double_t GetChiSq() const
TH2F * fMomDistShortPrimaryX
TH2F * fMomDistExtrapolExtraY
std::vector< Int_t >::iterator fImapSt1
std::vector< CbmTrdTrack * > fvTempArray
CbmL1CATrdTrackFinderSA(const CbmL1CATrdTrackFinderSA &)
Double_t Fit(CbmTrdTrack *tr)
std::vector< CbmTrdTrack * > fvFoundTracks
TH2F * fMomDistLongExtraY
CbmL1CATrdTrackFinderSA()
Double_t DistTwoTrackletsX(Int_t iIndexFirst, Int_t iIndexSecond, Double_t zed)
data class for a reconstructed Energy-4D measurement in the TRD
TH2F * fMomDistExtrapolExtraX
TClonesArray * fArrayTrdTrack
TH2F * fMomDistShortExtraY
void CreateAndManageSegments(std::vector< CbmL1TrdTracklet4 * > clTracklets14, std::vector< CbmL1TrdTracklet4 * > clTracklets58, std::vector< CbmL1TrdTracklet4 * > clTracklets912)
struct CbmL1CATrdTrackFinderSA::LayerWithHits planeHits
void CreateTracks(std::vector< CbmL1TrdTracklet4 * > clTracklets14, std::vector< CbmL1TrdTracklet4 * > clTracklets58, std::vector< CbmL1TrdTracklet4 * > clTracklets912, std::set< Int_t > &setUsedHits, Bool_t removeUsedHits, Bool_t competition=true, Int_t nrLoop=0)
TH2F * fMomDistShortExtraX
Bool_t OverlapsHitsXY(Int_t posA, Int_t posB)
static CbmL1CATrdTrackFinderSA * fInstance
TClonesArray * fMCPointArray
Double_t FitLSM(Int_t M[])
TH2F * fMomDistShortPrimaryY
static Bool_t CompareChi2TrdTrack(const CbmTrdTrack *a, const CbmTrdTrack *b)
void CreateSegments(std::vector< CbmL1TrdTracklet * > clSpacePointsAB, std::vector< CbmL1TrdTracklet * > clSpacePointsCD, std::vector< CbmL1TrdTracklet4 * > &clTrackletsAD, Double_t dX, Double_t dY)
void CreateSpacePoints(std::vector< LayerWithHits > vTrdHitArrayA, std::vector< LayerWithHits > vTrdHitArrayB, std::vector< CbmL1TrdTracklet * > &clSpacePointsAB, Double_t sigmaA, Double_t sigmaB)
static Bool_t CompareY(LayerWithHits A, LayerWithHits B)
Double_t DistTwoTrackletsY(Int_t iIndexFirst, Int_t iIndexSecond, Double_t zed)
struct CbmL1CATrdTrackFinderSA::TempTrackStruct tempTrack
const Int_t & GetVerbose() const
std::vector< CbmL1TrdTracklet4 * >::iterator itTrackletsRight
TClonesArray * fArrayTrdHit
TH1F * fUnUsedHitsPerPlane
std::vector< Int_t >::iterator iStation1
std::vector< LayerWithHits > fvTrdHitArr[12]
Int_t DoFind(TClonesArray *hitArray, TClonesArray *trackArray)
TH2F * fMomDistExtrapolPrimaryY
struct CbmL1CATrdTrackFinderSA::Layer geoLayer
TClonesArray * fMCTrackArray
static CbmL1CATrdTrackFinderSA * Instance()
std::map< Int_t, Int_t > fTotHits
CbmL1CATrdTrackFinderSA operator=(const CbmL1CATrdTrackFinderSA &)
TH2F * fMomDistLongExtraX
CbmTrdTrackFitterKF * trdTrackFitterKF
TH2F * fMomDistLongPrimaryY
std::vector< Int_t >::iterator fImapSt2
std::map< Int_t, Int_t > fRUnUsedHits
Int_t PdgToCharge(Int_t pdgCode)
static Bool_t CompareChi2(TempTrackStruct A, TempTrackStruct B)
Int_t fTrdHitIndex[12][10000]
Double_t FitTLinearFitter(Int_t M[])
TStopwatch createSegments
std::vector< Int_t >::iterator iStation2
Double_t FitKF(CbmTrdTrack *pTrack)
void SetVerbose(const Int_t &verbose)
virtual ~CbmL1CATrdTrackFinderSA()
TH2F * fMomDistExtrapolPrimaryX
std::vector< CbmL1TrdTracklet4 * >::iterator itTrackletsLeft
Double_t totFindNeighbour
std::map< Int_t, Int_t > fRUsedHits
ClassDef(CbmL1CATrdTrackFinderSA, 1)
Double_t totCreateSegments
Bool_t Rejection(Double_t Procent, Int_t num=100)
Double_t totThirdLoopTime
std::vector< LayerWithHits > fvTrdPointArr[12]
std::vector< LayerWithHits >::iterator fivTrdHitArr
TStopwatch secondLoopTime
void FindNeighbour(std::vector< CbmL1TrdTracklet4 * > &v1, std::vector< CbmL1TrdTracklet4 * > &v2, Double_t dY, Double_t dX)
Double_t FitLinear(CbmTrdTrack *tr, Int_t var)
TH2F * fMomDistLongPrimaryX
void TagSegments(std::vector< CbmL1TrdTracklet4 * > &clTrackletsA, std::vector< CbmL1TrdTracklet4 * > &clTrackletsB, Int_t noCombSegments=0)