61 #ifndef StuRefFtpcMult_hh
62 #define StuRefFtpcMult_hh
64 #include "StEventTypes.h"
70 if (!primVtx)
return false;
71 else if (fabs(primVtx->position().x())<10e-3 && fabs(primVtx->position().y())<10e-3 && fabs(primVtx->position().z())<10e-3)
return false;
72 else if (fabs(primVtx->position().z())>=50)
return false;
83 if (!multiplicityEventCutFtpc(primVtx))
return 9999;
84 const StSPtrVecPrimaryTrack& tracks = primVtx->daughters();
86 size_t countedTracks = 0;
87 for (StSPtrVecPrimaryTrackConstIterator iter = tracks.begin(); iter != tracks.end(); iter++) {
90 if (track->fitTraits().numberOfFitPoints()<6 || (track->fitTraits().numberOfFitPoints()>11))
continue;
92 if (track->geometry()->momentum().pseudoRapidity()>-2.8 || track->geometry()->momentum().pseudoRapidity()<=-3.8)
continue;
94 if (track->geometry()->momentum().perp()>=3)
continue;
97 if (glt->geometry()->helix().
distance(primVtx->position())<3) ++countedTracks;
103 uncorrectedNumberOfFtpcEastPrimaries(
const StEvent& evt,
int vtx_id = 0)
106 return uncorrectedNumberOfFtpcEastPrimaries(primVtx);
113 if (!multiplicityEventCutFtpc(primVtx))
return 9999;
114 const StSPtrVecPrimaryTrack& tracks = primVtx->daughters();
116 size_t countedTracks = 0;
117 for (StSPtrVecPrimaryTrackConstIterator iter = tracks.begin(); iter != tracks.end(); iter++) {
120 if (track->fitTraits().numberOfFitPoints()<6 || (track->fitTraits().numberOfFitPoints()>11))
continue;
122 if (track->geometry()->momentum().pseudoRapidity()<=2.8 || track->geometry()->momentum().pseudoRapidity()>3.8)
continue;
124 if (track->geometry()->momentum().perp()>=3)
continue;
126 if (((
StTrack *)track->node()->track(global))->geometry()->helix().distance(primVtx->position())<3) ++countedTracks;
128 return countedTracks;
132 uncorrectedNumberOfFtpcWestPrimaries(
const StEvent& evt,
int vtx_id = 0)
135 return uncorrectedNumberOfFtpcWestPrimaries(primVtx);
140 uncorrectedNumberOfFtpcPrimaries(
const StEvent& evt,
int vtx_id)
143 if (!multiplicityEventCutFtpc(primVtx))
return 9999;
145 return uncorrectedNumberOfFtpcWestPrimaries(primVtx) + uncorrectedNumberOfFtpcEastPrimaries(primVtx);
149 uncorrectedBinOfFtpcEastCentrality(
StEvent& evt)
152 size_t countedTracks = uncorrectedNumberOfFtpcEastPrimaries(evt);
154 unsigned int cent[] = {0,10,17};
155 if (countedTracks!=9999)
157 if (countedTracks < cent[1]) {
return 1; }
158 else if (countedTracks < cent[2]) {
return 2; }
double distance(const StThreeVector< double > &p, bool scanPeriods=true) const
minimal distance between point and helix