29 #include "StEventTypes.h"
30 #include "StuCutTrack.hh"
31 #include "PhysicalConstants.h"
32 #include "SystemOfUnits.h"
33 #include "StThreeVectorD.hh"
34 #define PR(x) cout << "##### CutTrack: " << (#x) << " = " << (x) << endl;
41 Float_t StuCutTrack::mFitOverMaxCuts[2] = {0.6, 1.};
43 UInt_t StuCutTrack::mTrackN = 0;
44 UInt_t StuCutTrack::mGoodTrackN = 0;
45 UInt_t StuCutTrack::mEtaSymPosN = 0;
46 UInt_t StuCutTrack::mEtaSymNegN = 0;
47 UInt_t StuCutTrack::mFitPtsCutN = 0;
48 UInt_t StuCutTrack::mFitOverMaxCutN = 0;
52 StuCutTrack::StuCutTrack() {
58 StuCutTrack::~StuCutTrack() {
69 Int_t nFitPoints = pTrack->fitTraits().numberOfFitPoints();
70 if (mFitPtsCuts[1] > mFitPtsCuts[0] &&
71 (nFitPoints < mFitPtsCuts[0] || nFitPoints >= mFitPtsCuts[1])) {
77 Int_t nMaxPoints = pTrack->numberOfPossiblePoints();
78 float fitOverMax = (nMaxPoints) ? (
float)nFitPoints/(float)nMaxPoints : 0.8;
80 if (mFitOverMaxCuts[1] > mFitOverMaxCuts[0] &&
81 (fitOverMax < mFitOverMaxCuts[0] || fitOverMax >= mFitOverMaxCuts[1])) {
88 double bField = 0.5*tesla;
91 if (p.pseudoRapidity() > 0.) {
102 void StuCutTrack::PrintCutList() {
106 cout <<
"#######################################################" << endl;
107 cout <<
"# Track Cut List:" << endl;
108 cout <<
"# FitPts cuts= " << mFitPtsCuts[0] <<
", " << mFitPtsCuts[1]
109 <<
" :\t " << setprecision(4) << (float)mFitPtsCutN/(
float)mTrackN/perCent
111 cout <<
"# FitOverMax cuts= " << mFitOverMaxCuts[0] <<
", "
112 << mFitOverMaxCuts[1] <<
" :\t " << setprecision(4)
113 << (float)mFitOverMaxCutN/(
float)mTrackN/perCent <<
"% cut" << endl;
114 cout <<
"# Good Tracks = " << (float)mGoodTrackN/(
float)mTrackN/perCent
116 cout << "
#######################################################" << endl;