10 #ifndef LITTRACKSELECTION_H_
11 #define LITTRACKSELECTION_H_
21 using std::equal_range;
33 unsigned int maxNofHits =
tracks.front()->GetNofHits();
34 unsigned int minNofHits =
tracks.back()->GetNofHits();
36 for (
unsigned int iNofHits = minNofHits; iNofHits <= maxNofHits;
41 pair<vector<LitScalTrack*>::iterator, vector<LitScalTrack*>::iterator>
43 bounds = equal_range(
tracks.begin(),
48 if (bounds.first == bounds.second) {
continue; }
59 unsigned int maxPlaneId =
tracks.front()->GetLastStationId();
60 unsigned int minPlaneId =
tracks.back()->GetLastStationId();
62 for (
unsigned int iPlaneId = minPlaneId; iPlaneId <= maxPlaneId;
67 pair<vector<LitScalTrack*>::iterator, vector<LitScalTrack*>::iterator>
69 bounds = equal_range(
tracks.begin(),
74 if (bounds.first == bounds.second) {
continue; }
87 static const int NOF_SHARED_HITS = 3;
88 if (
tracks.empty())
return;
96 unsigned int nofTracks =
tracks.size();
97 for (
unsigned int iTrack = 0; iTrack < nofTracks; iTrack++) {
100 if (!track->
IsGood()) {
continue; }
102 int nofSharedHits = 0;
104 for (
int iHit = 0; iHit < nofHits; iHit++) {
110 if (hitsId.find(hitId) != hitsId.end()) {
112 if (nofSharedHits > NOF_SHARED_HITS) {
119 if (!track->
IsGood()) {
continue; }
121 for (
int iHit = 0; iHit < nofHits; iHit++) {
127 hitsId.insert(hitId);