]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoEventCutEstimators.cxx
Fixes for coverity.
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoEventCutEstimators.cxx
CommitLineData
76ce4b5b 1////////////////////////////////////////////////////////////////////////////////
2// //
3// AliFemtoEventCutEstimators - the basic cut for events. //
4// Only cuts on event multiplicity and z-vertex position //
5// //
6////////////////////////////////////////////////////////////////////////////////
7
8#include "AliFemtoEventCutEstimators.h"
9//#include <cstdio>
10
11#ifdef __ROOT__
12ClassImp(AliFemtoEventCutEstimators)
13#endif
14
15AliFemtoEventCutEstimators::AliFemtoEventCutEstimators() :
16 AliFemtoEventCut(),
17 fEventMultEst1(),
18 fEventMultEst2(),
19 fEventMultEst3(),
20 fUseMultEst1(0),
21 fUseMultEst2(0),
22 fUseMultEst3(0),
23 fEventCentEst1(),
24 fEventCentEst2(),
25 fEventCentEst3(),
26 fEventCentEst4(),
27 fUseCentEst1(0),
28 fUseCentEst2(0),
29 fUseCentEst3(0),
30 fUseCentEst4(0),
31 fNEventsPassed(0),
32 fNEventsFailed(0)
33{
34 // Default constructor
35 fEventMultEst1[0] = 0; fEventMultEst1[1] = 10000;
36 fEventMultEst2[0] = 0; fEventMultEst2[1] = 10000;
37 fEventMultEst3[0] = 0; fEventMultEst3[1] = 10000;
38 fEventCentEst1[0] = 0; fEventCentEst1[1] = 1000.0;
39 fEventCentEst2[0] = 0; fEventCentEst2[1] = 1000.0;
40 fEventCentEst3[0] = 0; fEventCentEst3[1] = 1000.0;
41 fEventCentEst4[0] = 0; fEventCentEst4[1] = 1000.0;
42 fVertZPos[0] = -100.0;
43 fVertZPos[1] = 100.0;
44}
45//------------------------------
46AliFemtoEventCutEstimators::~AliFemtoEventCutEstimators(){
47 // Default destructor
48}
49//------------------------------
50AliFemtoEventCutEstimators& AliFemtoEventCutEstimators::operator=(AliFemtoEventCutEstimators& c)
51{
52 if (this != &c) {
53 fEventMultEst1[0] = c.fEventMultEst1[0]; fEventMultEst1[1] = c.fEventMultEst1[1];
54 fEventMultEst2[0] = c.fEventMultEst2[0]; fEventMultEst2[1] = c.fEventMultEst2[1];
55 fEventMultEst3[0] = c.fEventMultEst3[0]; fEventMultEst3[1] = c.fEventMultEst3[1];
56 fEventCentEst1[0] = c.fEventCentEst1[0]; fEventCentEst1[1] = c.fEventCentEst1[1];
57 fEventCentEst2[0] = c.fEventCentEst2[0]; fEventCentEst2[1] = c.fEventCentEst2[1];
58 fEventCentEst3[0] = c.fEventCentEst3[0]; fEventCentEst3[1] = c.fEventCentEst3[1];
59 fEventCentEst4[0] = c.fEventCentEst4[0]; fEventCentEst4[1] = c.fEventCentEst4[1];
60 fVertZPos[0] = c.fVertZPos[0];
61 fVertZPos[1] = c.fVertZPos[1];
62 }
63
64 return *this;
65}
66
67//------------------------------
68bool AliFemtoEventCutEstimators::Pass(const AliFemtoEvent* event){
69 // Pass events if they fall within the multiplicity and z-vertex
70 // position range. Fail otherwise
71 // int mult = event->NumberOfTracks();
72
73 bool goodEvent = true;
74
75 printf("Cutting event with %i %i %i - %i %i %i %i\n", fUseMultEst1, fUseMultEst2, fUseMultEst3, fUseCentEst1, fUseCentEst2, fUseCentEst3, fUseCentEst4);
76 printf(" On %i %i %i - %f %f %f %f\n", event->MultiplicityEstimateTracklets(), event->MultiplicityEstimateITSTPC(), event->MultiplicityEstimateITSPure(),
77 event->CentralityV0(), event->CentralityFMD(), event->CentralitySPD1(), event->CentralityTrk());
78
79 if (fUseMultEst1) { goodEvent &= ((event->MultiplicityEstimateTracklets() >= fEventMultEst1[0]) &&
80 (event->MultiplicityEstimateTracklets() <= fEventMultEst1[1])); }
81 if (fUseMultEst2) { goodEvent &= ((event->MultiplicityEstimateITSTPC() >= fEventMultEst2[0]) &&
82 (event->MultiplicityEstimateITSTPC() <= fEventMultEst2[1])); }
83 if (fUseMultEst3) { goodEvent &= ((event->MultiplicityEstimateITSPure() >= fEventMultEst3[0]) &&
84 (event->MultiplicityEstimateITSPure() <= fEventMultEst3[1])); }
85
86 if (fUseCentEst1) { goodEvent &= ((event->CentralityV0() > fEventCentEst1[0]) &&
87 (event->CentralityV0() < fEventCentEst1[1])); }
88 if (fUseCentEst2) { goodEvent &= ((event->CentralityFMD() > fEventCentEst2[0]) &&
89 (event->CentralityFMD() < fEventCentEst2[1])); }
90 if (fUseCentEst3) { goodEvent &= ((event->CentralitySPD1() > fEventCentEst3[0]) &&
91 (event->CentralitySPD1() < fEventCentEst3[1])); }
92 if (fUseCentEst4) { goodEvent &= ((event->CentralityTrk() > fEventCentEst4[0]) &&
93 (event->CentralityTrk() < fEventCentEst4[1])); }
94 double vertexZPos = event->PrimVertPos().z();
95 // cout << "AliFemtoEventCutEstimators:: mult: " << fEventMult[0] << " < " << mult << " < " << fEventMult[1] << endl;
96 // cout << "AliFemtoEventCutEstimators:: VertexZPos: " << fVertZPos[0] << " < " << vertexZPos << " < " << fVertZPos[1] << endl;
97 // cout << "AliFemtoEventCutEstimators:: VertexZErr: " << event->PrimVertCov()[4] << endl;
98 goodEvent &=
99 ((vertexZPos > fVertZPos[0]) &&
100 (vertexZPos < fVertZPos[1]));
101 goodEvent ? fNEventsPassed++ : fNEventsFailed++ ;
102 // cout << "AliFemtoEventCutEstimators:: return : " << goodEvent << endl;
103 // (fAcceptBadVertex || (event->PrimVertCov()[4] > -1000.0)) &&
104 return (goodEvent);
105}
106 //------------------------------
107AliFemtoString AliFemtoEventCutEstimators::Report(){
108 // Prepare report
109 string stemp;
110 char ctemp[100];
111 snprintf(ctemp , 100, "\nMultiplicity:\t %d-%d",fEventMultEst2[0],fEventMultEst2[1]);
112 stemp = ctemp;
113 snprintf(ctemp , 100, "\nVertex Z-position:\t %E-%E",fVertZPos[0],fVertZPos[1]);
114 stemp += ctemp;
115 snprintf(ctemp , 100, "\nNumber of events which passed:\t%ld Number which failed:\t%ld",fNEventsPassed,fNEventsFailed);
116 stemp += ctemp;
117 AliFemtoString returnThis = stemp;
118 return returnThis;
119}