]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoSpherocityEventCut.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoSpherocityEventCut.h
CommitLineData
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
12class AliFemtoSpherocityEventCut : public AliFemtoEventCut {
13
14public:
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
39private: // 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
58inline void AliFemtoSpherocityEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;}
59inline void AliFemtoSpherocityEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;}
60inline void AliFemtoSpherocityEventCut::SetEPVZERO(const float& lo, const float& hi){fPsiEP[0]=lo; fPsiEP[1]=hi;}
61inline int AliFemtoSpherocityEventCut::NEventsPassed() const {return fNEventsPassed;}
62inline int AliFemtoSpherocityEventCut::NEventsFailed() const {return fNEventsFailed;}
63inline void AliFemtoSpherocityEventCut::SetSoMin(double soMin ) {fSoCutMin=soMin;}
64inline void AliFemtoSpherocityEventCut::SetSoMax(double soMax ) {fSoCutMax=soMax;}
65inline void AliFemtoSpherocityEventCut::SetTriggerSelection(int trig) { fSelectTrigger = trig; }
66inline AliFemtoSpherocityEventCut* AliFemtoSpherocityEventCut::Clone() { AliFemtoSpherocityEventCut* c = new AliFemtoSpherocityEventCut(*this); return c;}
67inline 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
76inline 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