13 Float_t
Cut::mVertexZ[2] = {-200,200};
14 Int_t Cut::mFlowCent[2] = {0,9};
15 Float_t Cut::mZDCSum[2] = {0,1000};
18 Float_t Cut::mEta[2] = {-1.,1.};
19 Int_t Cut::mFitPts[2] = {0,50};
20 Float_t Cut::mSDcaGl[2] = {-3,3};
21 Float_t Cut::mDcaXYGl[2] = {-3,3};
22 Float_t Cut::mCross[2] = {-20,20};
23 Int_t Cut::mFirstPadrow[2] = {0,99};
24 Bool_t Cut::mSameSector =
false;
25 Bool_t Cut::mCrossCM =
true;
31 cout <<
"******************************************************" << endl;
32 cout <<
"Cut::ShowCuts()" << endl;
33 cout <<
"event cuts:" << endl;
35 cout <<
"\tflow cent : " << mFlowCent[0] <<
" -- " << mFlowCent[1] << endl;
36 cout <<
"\tvertex z : " << mVertexZ[0] <<
" -- " << mVertexZ[1] << endl;
37 cout <<
"\tZDCSum : " << mZDCSum[0] <<
" -- " << mZDCSum[1] << endl;
39 cout <<
"track cuts:" << endl
40 <<
"\teta : " << mEta[0] <<
" -- " << mEta[1] << endl
41 <<
"\tfit pts : " << mFitPts[0] <<
" -- " << mFitPts[1] << endl
42 <<
"\tsdca : " << mSDcaGl[0] <<
" -- " << mSDcaGl[1] << endl
43 <<
"\tdcaxy : " << mDcaXYGl[0] <<
" -- " << mDcaXYGl[1] << endl
44 <<
"\tcross : " << mCross[0] <<
" -- " << mCross[1] << endl
45 <<
"\tfirst row : " << mFirstPadrow[0] <<
" -- " << mFirstPadrow[1] << endl
46 <<
"\tSameSector? : " << (Int_t)mSameSector << endl
47 <<
"\tCrossCM? : " << (Int_t)mCrossCM << endl
49 cout << "******************************************************" << endl;
55 Cut::DecodeCutList(const
char *cutList)
58 cout <<
"******************************************************" << endl;
59 cout <<
"Cut::DecodeCutList("<< cutList <<
")" << endl;
60 cout <<
"Event Cuts:" << endl;
62 cout <<
"\tFlow centrality : " << mFlowCent[0] <<
" -- " << mFlowCent[1] << endl;
63 cout <<
"\tZ vertex : " << mVertexZ[0] <<
" -- " << mVertexZ[1] << endl;
64 cout <<
"\tZDCSum : " << mZDCSum[0] <<
" -- " << mZDCSum[1] << endl;
66 cout <<
"Track Cuts:" << endl
67 <<
"\tEta : " << mEta[0] <<
" -- " << mEta[1] << endl
68 <<
"\tFitpts : " << mFitPts[0] <<
" -- " << mFitPts[1] << endl
69 <<
"\t3dDca : " << mSDcaGl[0] <<
" -- " << mSDcaGl[1] << endl
70 <<
"\tDcaXY : " << mDcaXYGl[0] <<
" -- " << mDcaXYGl[1] << endl
71 <<
"\tCrossing Angle : " << mCross[0] <<
" -- " << mCross[1] << endl
72 <<
"\tFirst Row : " << mFirstPadrow[0] <<
" -- " << mFirstPadrow[1] << endl
73 <<
"\tSameSector? : " << (Int_t)mSameSector << endl
74 <<
"\tCrossCM? : " << (Int_t)mCrossCM
77 cout << "******************************************************" << endl;
81 const
char*
Cut::SetCuts(const
char* cutList) {
85 if (strlen(cutList) != 7) {
86 cerr <<
"<W> Error, cutList has " << strlen(cutList) <<
" members" << endl;
87 cerr <<
"<W> Expecting 7 cuts. Reverting to wide open cuts!" << endl << endl;
91 sscanf(cutList,
"%c%c%c%c%c%c%c",&cut[0],&cut[1],
92 &cut[2],&cut[3],&cut[4],&cut[5],&cut[6]);
94 cout <<
"Setting cuts:" << endl
95 <<
"\tcentType = " << cut[0] << endl
96 <<
"\tvertex = " << cut[1] << endl
97 <<
"\teta = " << cut[2] << endl
98 <<
"\tfitPts = " << cut[3] << endl
99 <<
"\t2dDCA = " << cut[4] << endl
100 <<
"\tSameSector ?= " << cut[5] << endl
101 <<
"\tCrossCM ?= " << cut[6] << endl << endl;
104 SetZVertexCut(cut[1]);
106 SetFitPtsCut(cut[3]);
108 SetSameSectorCut(cut[5]);
109 SetCrossCMCut(cut[6]);
115 void Cut::SetCrossCMCut(
const char crossCMCut) {
119 mCrossCM =
true;
break;
121 mCrossCM =
false;
break;
123 cerr <<
"<W> Unknown CrossCM Cut Type: " << crossCMCut << endl;
124 cerr <<
"<W> Reverting to NO cut: CrossCM = true" << endl << endl;
break;
128 void Cut::SetSameSectorCut(
const char sameSectorCut) {
130 switch(sameSectorCut) {
132 mSameSector =
true;
break;
134 mSameSector =
false;
break;
136 cerr <<
"<W> Unknown SameSector Cut Type: " << sameSectorCut << endl;
137 cerr <<
"<W> Reverting to NO cut: SameSector = false" << endl << endl;
break;
141 void Cut::SetDCACut(
const char dcaCut) {
145 mSDcaGl[0] = -1.; mSDcaGl[1] = 1.;
146 mDcaXYGl[0] = -3.; mDcaXYGl[1] = 3.;
break;
148 mSDcaGl[0] = -0.9; mSDcaGl[1] = 0.9;
149 mDcaXYGl[0] = -3.; mDcaXYGl[1] = 3.;
break;
151 mSDcaGl[0] = -1.5; mSDcaGl[1] = 1.5;
152 mDcaXYGl[0] = -3.; mDcaXYGl[1] = 3.;
break;
154 mSDcaGl[0] = -3.; mSDcaGl[1] = 3.;
155 mDcaXYGl[0] = -1.; mDcaXYGl[1] = 1.;
break;
157 mSDcaGl[0] = -3.; mSDcaGl[1] = 3.;
158 mDcaXYGl[0] = -0.9; mDcaXYGl[1] = 0.9;
break;
160 mSDcaGl[0] = -3.; mSDcaGl[1] = 3.;
161 mDcaXYGl[0] = -1.5; mDcaXYGl[1] = 1.5;
break;
163 cerr <<
"<W> Unknown DCA Cut Type: " << dcaCut << endl;
164 cerr <<
"<W> Reverting to wide open cut: " << endl;
165 cerr <<
"\t-3. < SDcaGl < 3. " << endl;
166 cerr <<
"\t-3. < DcaXYGl < 3. " << endl << endl;
171 void Cut::SetFitPtsCut(
const char fitPtsCut) {
175 mFitPts[0] = 20; mFitPts[1] = 50;
break;
177 mFitPts[0] = 15; mFitPts[1] = 50;
break;
179 mFitPts[0] = 10; mFitPts[1] = 50;
break;
181 mFitPts[0] = 25; mFitPts[1] = 50;
break;
183 mFitPts[0] = 30; mFitPts[1] = 50;
break;
185 cerr <<
"<W> Unknown FitPts Cut Type: " << fitPtsCut << endl;
186 cerr <<
"<W> Reverting to wide open cut: 0 < FitPts < 50" << endl << endl;
191 void Cut::SetEtaCut(
const char etaCut) {
195 mEta[0] = -0.75; mEta[1] = 0.75;
break;
197 mEta[0] = -0.5; mEta[1] = -0.5;
break;
199 mEta[0] = -1.; mEta[1] = 1.;
break;
201 cerr <<
"<W> Unknown Eta Cut Type: " << etaCut << endl;
202 cerr <<
"<W> Reverting to wide open cut: -1. < Eta < 1." << endl << endl;
207 void Cut::SetZVertexCut(
const char zVtxCut) {
211 mVertexZ[0] = -25.; mVertexZ[1] = 25.;
break;
213 mVertexZ[0] = 0.; mVertexZ[1] = 25.;
break;
215 mVertexZ[0] = -25.; mVertexZ[1] = 0.;
break;
217 mVertexZ[0] = -15.; mVertexZ[1] = 15.;
break;
219 mVertexZ[0] = -10.; mVertexZ[1] = 10.;
break;
221 mVertexZ[0] = -5.; mVertexZ[1] = 5.;
break;
223 cerr <<
"<W> Unknown Vertex Z type: " << zVtxCut << endl;
224 cerr <<
"<W> Reverting to wide open cut: -200 < Zvtx < 200" << endl << endl;
229 void Cut::SetCentCut(
const char centType) {
233 mFlowCent[0]=-1; mFlowCent[1]=-1;
break;
235 mFlowCent[0]=-1; mFlowCent[1]=-1;
236 mZDCSum[0]=0; mZDCSum[1]=66;
break;
238 mFlowCent[0]=-1; mFlowCent[1]=-1;
239 mZDCSum[0]=66; mZDCSum[1]=1000;
break;
241 mFlowCent[0]=0; mFlowCent[1]=9;
break;
244 mFlowCent[0]=9; mFlowCent[1]=9;
break;
246 mFlowCent[0]=8; mFlowCent[1]=8;
break;
248 mFlowCent[0]=7; mFlowCent[1]=7;
break;
250 mFlowCent[0]=6; mFlowCent[1]=6;
break;
252 mFlowCent[0]=5; mFlowCent[1]=5;
break;
254 mFlowCent[0]=3; mFlowCent[1]=4;
break;
256 mFlowCent[0]=1; mFlowCent[1]=2;
break;
258 mFlowCent[0]=1; mFlowCent[1]=4;
break;
260 cerr <<
"<W> Unknown centrality type: " << centType << endl;
261 cerr <<
"<W> Reverting to MinBias. " << endl << endl;