]>
Commit | Line | Data |
---|---|---|
d5422074 | 1 | //////////////////////////////////////////////////////////////////////////////// |
2 | // // | |
3 | // AliFemtoSphericityEventCut - the basic cut for events. // | |
4 | // // | |
5 | //////////////////////////////////////////////////////////////////////////////// | |
6 | ||
7 | #ifndef AliFemtoSphericityEventCUT_H | |
8 | #define AliFemtoSphericityEventCUT_H | |
9 | ||
10 | #include "AliFemtoEventCut.h" | |
11 | ||
12 | class AliFemtoSphericityEventCut : public AliFemtoEventCut { | |
13 | ||
14 | public: | |
15 | ||
16 | AliFemtoSphericityEventCut(); | |
17 | AliFemtoSphericityEventCut(AliFemtoSphericityEventCut& c); | |
18 | virtual ~AliFemtoSphericityEventCut(); | |
19 | AliFemtoSphericityEventCut& operator=(AliFemtoSphericityEventCut& 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 SetStMin(double stMin ); |
29 | void SetStMax(double stMax ); | |
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 | AliFemtoSphericityEventCut* 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 fStCutMin; // transverse sphericity minimum | |
49 | double fStCutMax; // transverse sphericity maximum | |
50 | int fSelectTrigger; // If set, only given trigger will be selected | |
51 | ||
52 | #ifdef __ROOT__ | |
53 | ClassDef(AliFemtoSphericityEventCut, 1) | |
54 | #endif | |
55 | ||
56 | }; | |
57 | ||
58 | inline void AliFemtoSphericityEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;} | |
59 | inline void AliFemtoSphericityEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;} | |
60 | inline void AliFemtoSphericityEventCut::SetEPVZERO(const float& lo, const float& hi){fPsiEP[0]=lo; fPsiEP[1]=hi;} | |
61 | inline int AliFemtoSphericityEventCut::NEventsPassed() const {return fNEventsPassed;} | |
62 | inline int AliFemtoSphericityEventCut::NEventsFailed() const {return fNEventsFailed;} | |
63 | inline void AliFemtoSphericityEventCut::SetStMin(double stMin ) {fStCutMin=stMin;} | |
64 | inline void AliFemtoSphericityEventCut::SetStMax(double stMax ) {fStCutMax=stMax;} | |
65 | inline void AliFemtoSphericityEventCut::SetTriggerSelection(int trig) { fSelectTrigger = trig; } | |
66 | inline AliFemtoSphericityEventCut* AliFemtoSphericityEventCut::Clone() { AliFemtoSphericityEventCut* c = new AliFemtoSphericityEventCut(*this); return c;} | |
67 | inline AliFemtoSphericityEventCut::AliFemtoSphericityEventCut(AliFemtoSphericityEventCut& c) : AliFemtoEventCut(c), fAcceptBadVertex(false), fNEventsPassed(0), fNEventsFailed(0), fAcceptOnlyPhysics(false),fStCutMin(0),fStCutMax(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 | fStCutMin = c.fStCutMin; | |
75 | fStCutMax = c.fStCutMax; | |
76 | ||
77 | } | |
78 | ||
79 | inline AliFemtoSphericityEventCut& AliFemtoSphericityEventCut::operator=(AliFemtoSphericityEventCut& c) { | |
80 | if (this != &c) { | |
81 | AliFemtoEventCut::operator=(c); | |
82 | fEventMult[0] = c.fEventMult[0]; | |
83 | fEventMult[1] = c.fEventMult[1]; | |
84 | fVertZPos[0] = c.fVertZPos[0]; | |
85 | fVertZPos[1] = c.fVertZPos[1]; | |
86 | fPsiEP[0] = c.fPsiEP[0]; | |
87 | fPsiEP[1] = c.fPsiEP[1]; | |
88 | fStCutMin = c.fStCutMin; | |
89 | fStCutMax = c.fStCutMax; | |
90 | } | |
91 | ||
92 | return *this; | |
93 | } | |
94 | ||
95 | ||
96 | #endif |