]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/AliFemto/AliFemtoSphericityEventCut.h
PWGCFfemtoscopy converted to native cmake
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemto / AliFemtoSphericityEventCut.h
CommitLineData
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
12class AliFemtoSphericityEventCut : public AliFemtoEventCut {
13
14public:
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
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 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
58inline void AliFemtoSphericityEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;}
59inline void AliFemtoSphericityEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;}
60inline void AliFemtoSphericityEventCut::SetEPVZERO(const float& lo, const float& hi){fPsiEP[0]=lo; fPsiEP[1]=hi;}
61inline int AliFemtoSphericityEventCut::NEventsPassed() const {return fNEventsPassed;}
62inline int AliFemtoSphericityEventCut::NEventsFailed() const {return fNEventsFailed;}
63inline void AliFemtoSphericityEventCut::SetStMin(double stMin ) {fStCutMin=stMin;}
64inline void AliFemtoSphericityEventCut::SetStMax(double stMax ) {fStCutMax=stMax;}
65inline void AliFemtoSphericityEventCut::SetTriggerSelection(int trig) { fSelectTrigger = trig; }
66inline AliFemtoSphericityEventCut* AliFemtoSphericityEventCut::Clone() { AliFemtoSphericityEventCut* c = new AliFemtoSphericityEventCut(*this); return c;}
67inline 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
79inline 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