]>
Commit | Line | Data |
---|---|---|
d5422074 | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoSpherocityEventCut - the basic cut for events. // | |
4 | // // | |
5 | //////////////////////////////////////////////////////////////////////////////// | |
6 | ||
7 | #ifndef AliFemtoSpherocityEventCUT_H | |
8 | #define AliFemtoSpherocityEventCUT_H | |
9 | ||
10 | #include "AliFemtoEventCut.h" | |
11 | ||
12 | class AliFemtoSpherocityEventCut : public AliFemtoEventCut { | |
13 | ||
14 | public: | |
15 | ||
16 | AliFemtoSpherocityEventCut(); | |
17 | AliFemtoSpherocityEventCut(AliFemtoSpherocityEventCut& c); | |
18 | virtual ~AliFemtoSpherocityEventCut(); | |
19 | AliFemtoSpherocityEventCut& operator=(AliFemtoSpherocityEventCut& c); | |
20 | ||
21 | void SetEventMult(const int& lo,const int& hi); | |
22 | void SetVertZPos(const float& lo, const float& hi); | |
23 | void SetAcceptBadVertex(bool b); | |
24 | int NEventsPassed() const; | |
25 | int NEventsFailed() const; | |
26 | bool GetAcceptBadVertex(); | |
81937e80 | 27 | bool GetAcceptOnlyPhysics() {return kFALSE;} // Not implemented |
d5422074 | 28 | void SetSoMin(double soMin ); |
29 | void SetSoMax(double soMax ); | |
30 | void SetTriggerSelection(int trig); | |
31 | ||
32 | void SetEPVZERO(const float& lo, const float& hi); | |
33 | ||
34 | virtual AliFemtoString Report(); | |
35 | virtual bool Pass(const AliFemtoEvent* event); | |
36 | ||
37 | AliFemtoSpherocityEventCut* Clone(); | |
38 | ||
39 | private: // here are the quantities I want to cut on... | |
40 | ||
41 | int fEventMult[2]; // range of multiplicity | |
42 | float fVertZPos[2]; // range of z-position of vertex | |
43 | float fPsiEP[2]; // range of vzero ep angle | |
44 | bool fAcceptBadVertex; // Set to true to accept events with bad vertex | |
45 | long fNEventsPassed; // Number of events checked by this cut that passed | |
46 | long fNEventsFailed; // Number of events checked by this cut that failed | |
47 | bool fAcceptOnlyPhysics;// Accept only physics events | |
48 | double fSoCutMin; // transverse sphericity minimum | |
49 | double fSoCutMax; // transverse sphericity maximum | |
50 | int fSelectTrigger; // If set, only given trigger will be selected | |
51 | ||
52 | #ifdef __ROOT__ | |
53 | ClassDef(AliFemtoSpherocityEventCut, 1) | |
54 | #endif | |
55 | ||
56 | }; | |
57 | ||
58 | inline void AliFemtoSpherocityEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;} | |
59 | inline void AliFemtoSpherocityEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;} | |
60 | inline void AliFemtoSpherocityEventCut::SetEPVZERO(const float& lo, const float& hi){fPsiEP[0]=lo; fPsiEP[1]=hi;} | |
61 | inline int AliFemtoSpherocityEventCut::NEventsPassed() const {return fNEventsPassed;} | |
62 | inline int AliFemtoSpherocityEventCut::NEventsFailed() const {return fNEventsFailed;} | |
63 | inline void AliFemtoSpherocityEventCut::SetSoMin(double soMin ) {fSoCutMin=soMin;} | |
64 | inline void AliFemtoSpherocityEventCut::SetSoMax(double soMax ) {fSoCutMax=soMax;} | |
65 | inline void AliFemtoSpherocityEventCut::SetTriggerSelection(int trig) { fSelectTrigger = trig; } | |
66 | inline AliFemtoSpherocityEventCut* AliFemtoSpherocityEventCut::Clone() { AliFemtoSpherocityEventCut* c = new AliFemtoSpherocityEventCut(*this); return c;} | |
67 | inline AliFemtoSpherocityEventCut::AliFemtoSpherocityEventCut(AliFemtoSpherocityEventCut& c) : AliFemtoEventCut(c), fAcceptBadVertex(false), fNEventsPassed(0), fNEventsFailed(0), fAcceptOnlyPhysics(false), fSoCutMin(0), fSoCutMax(1), fSelectTrigger(0) { | |
68 | fEventMult[0] = c.fEventMult[0]; | |
69 | fEventMult[1] = c.fEventMult[1]; | |
70 | fVertZPos[0] = c.fVertZPos[0]; | |
71 | fVertZPos[1] = c.fVertZPos[1]; | |
72 | fPsiEP[0] = c.fPsiEP[0]; | |
73 | fPsiEP[1] = c.fPsiEP[1]; | |
74 | } | |
75 | ||
76 | inline AliFemtoSpherocityEventCut& AliFemtoSpherocityEventCut::operator=(AliFemtoSpherocityEventCut& c) { | |
77 | if (this != &c) { | |
78 | AliFemtoEventCut::operator=(c); | |
79 | fEventMult[0] = c.fEventMult[0]; | |
80 | fEventMult[1] = c.fEventMult[1]; | |
81 | fVertZPos[0] = c.fVertZPos[0]; | |
82 | fVertZPos[1] = c.fVertZPos[1]; | |
83 | fPsiEP[0] = c.fPsiEP[0]; | |
84 | fPsiEP[1] = c.fPsiEP[1]; | |
85 | } | |
86 | ||
87 | return *this; | |
88 | } | |
89 | ||
90 | ||
91 | #endif |