10 #include "TClonesArray.h" 34 std::vector<TripletSolution>
GetSolutions()
const {
return fSolutions; }
47 virtual void SetBranchMap(std::map<TString, TClonesArray *> &map) { fBranchMap = map; };
51 std::vector<std::vector<PndSttHit *>> PreselectSttHits();
52 TripletValues GenerateTriplets(std::vector<PndSttHit *> hits);
54 std::vector<int> CheckForCurlingTracks(std::map<
int, std::vector<std::vector<PndSttHit *>>> &tubeStructure);
56 TripletValues GetTripletsStraightTracks(std::map<
int, std::vector<std::vector<PndSttHit *>>> &tubeStructure);
57 TripletValues GetTripletsCurledTracks(std::map<
int, std::vector<std::vector<PndSttHit *>>> &tubeStructure);
58 std::map<int, std::vector<std::vector<PndSttHit *>>> GenerateCurlingGroups();
60 int GetMidIndex(
int firstRow,
int lastRow);
62 TripletValues FindTubesForStraightInCurled(std::map<
int, std::vector<std::vector<PndSttHit *>>> &CombinedTubeStructure);
63 TripletValues FindTubesForTracksInFirstRow(std::map<
int, std::vector<std::vector<PndSttHit *>>> &TubeStructure);
64 void DeleteFromCurlingPool(std::vector<TripletSolution> &combinedSolutions, std::map<
int, std::vector<std::vector<PndSttHit *>>> &CombinedTubeStructure);
67 std::vector<TripletSolution> fSolutions;
68 std::vector<TripletSolution> fPreselectedTracks;
69 std::vector<TripletSolution> fTripletsFirst;
70 std::vector<TripletSolution> fTripletsMid;
71 std::vector<TripletSolution> fTripletsLast;
72 std::vector<TripletSolution> fTripletsCombi;
73 std::vector<TripletSolution> fTripletTracks;
74 std::vector<TripletSolution> fContinuousTripletTracks;
75 std::vector<TripletSolution> fTripletTracksAfterAdding;
77 std::vector<std::map<int, std::vector<std::vector<PndSttHit *>>>> fCurlingGroups;
78 std::vector<PndSttHit *> fCurlingGroup;
84 int fNExpectedTracks = -1;
85 bool fWithTubeReduction =
true;
86 bool fWithCombiReduction =
true;
87 bool fWithCurlingTracks =
true;
89 bool fIsCurling =
false;
90 bool fIsStrongCurling =
false;
91 std::map<TString, TClonesArray *> fBranchMap;
93 std::map<FairLink, int> fMapHitstoCATracklet;
95 double fMinDistance = 0.;
96 int fAllHitsCounter = 0;
97 int fFirstRowNumber = 0;
98 int fLastRowNumber = 19;
99 int fBeforeSkewedRowNumber = 7;
100 int fAfterSkewedRowNumber = 16;
std::vector< TripletSolution > GetPreselectedTracks() const
std::vector< TripletSolution > GetTripletsLast() const
virtual void SetPreselector(PndPreselectSttHits *val)
std::vector< TripletSolution > GetTripletTracksAfterAdding() const
virtual void SetWithTubeReduction(bool reduction)
std::vector< TripletSolution > GetTripletsMid() const
virtual void SetBranchMap(std::map< TString, TClonesArray *> &map)
std::vector< TripletSolution > GetTripletTracks() const
std::vector< TripletSolution > GetTripletsCombi() const
std::vector< TripletSolution > GetContinuousTripletTracks() const
virtual void SetCATrackFinder(PndSttCA *CAFinder)
std::vector< TripletSolution > GetSolutions() const
std::vector< TripletSolution > GetTripletsFirst() const
virtual void SetWithCombiReduction(bool red)