1 /***************************************************************************
5 * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6 ***************************************************************************
8 * Description: part of STAR HBT Framework: AliFemtoMaker package
9 * A simple event-wise cut that selects on multiplicity and z-position
12 ***************************************************************************
15 * Revision 1.1.1.1 2007/03/07 10:14:49 mchojnacki
16 * First version on CVS
18 * Revision 1.5 2000/03/23 22:57:28 laue
19 * Clone() function implemented
21 * Revision 1.4 2000/01/25 17:35:02 laue
22 * I. In order to run the stand alone version of the AliFemtoMaker the following
23 * changes have been done:
24 * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements
25 * b) unnecessary includes of StMaker.h have been removed
26 * c) the subdirectory AliFemtoMaker/doc/Make has been created including everything
27 * needed for the stand alone version
29 * II. To reduce the amount of compiler warning
30 * a) some variables have been type casted
31 * b) some destructors have been declared as virtual
33 * Revision 1.3 1999/10/15 01:57:04 lisa
34 * Important enhancement of AliFemtoMaker - implement Franks CutMonitors
35 * ----------------------------------------------------------
36 * This means 3 new files in Infrastructure area (CutMonitor),
37 * several specific CutMonitor classes in the Cut area
38 * and a new base class in the Base area (AliFemtoCutMonitor).
39 * This means also changing all Cut Base class header files from .h to .h
40 * so we have access to CutMonitor methods from Cint command line.
42 * 1) files which include these header files are slightly modified
43 * 2) a side benefit: the TrackCuts and V0Cuts no longer need
44 * a SetMass() implementation in each Cut class, which was stupid.
47 * Include Franks AliFemtoAssociationReader
48 * ** None of these changes should affect any user **
50 * Revision 1.2 1999/07/06 22:33:21 lisa
51 * Adjusted all to work in pro and new - dev itself is broken
53 * Revision 1.1.1.1 1999/06/29 16:02:56 lisa
54 * Installation of AliFemtoMaker
56 **************************************************************************/
58 #ifndef AliFemtoBasicEventCut_hh
59 #define AliFemtoBasicEventCut_hh
61 // do I need these lines ?
63 //#include "StMaker.h"
66 #include "Base/AliFemtoEventCut.h"
68 class AliFemtoBasicEventCut : public AliFemtoEventCut {
72 AliFemtoBasicEventCut();
73 AliFemtoBasicEventCut(AliFemtoBasicEventCut&);
74 //~AliFemtoBasicEventCut();
76 void SetEventMult(const int& lo,const int& hi);
77 void SetVertZPos(const float& lo, const float& hi);
81 virtual AliFemtoString Report();
82 virtual bool Pass(const AliFemtoEvent*);
84 AliFemtoBasicEventCut* Clone();
86 private: // here are the quantities I want to cut on...
88 int fEventMult[2]; // range of multiplicity
89 float fVertZPos[2]; // range of z-position of vertex
95 ClassDef(AliFemtoBasicEventCut, 1)
100 inline void AliFemtoBasicEventCut::SetEventMult(const int& lo, const int& hi){fEventMult[0]=lo; fEventMult[1]=hi;}
101 inline void AliFemtoBasicEventCut::SetVertZPos(const float& lo, const float& hi){fVertZPos[0]=lo; fVertZPos[1]=hi;}
102 inline int AliFemtoBasicEventCut::NEventsPassed() {return fNEventsPassed;}
103 inline int AliFemtoBasicEventCut::NEventsFailed() {return fNEventsFailed;}
104 inline AliFemtoBasicEventCut* AliFemtoBasicEventCut::Clone() { AliFemtoBasicEventCut* c = new AliFemtoBasicEventCut(*this); return c;}
105 inline AliFemtoBasicEventCut::AliFemtoBasicEventCut(AliFemtoBasicEventCut& c) : AliFemtoEventCut(c) {
106 fEventMult[0] = c.fEventMult[0];
107 fEventMult[1] = c.fEventMult[1];
108 fVertZPos[0] = c.fVertZPos[0];
109 fVertZPos[1] = c.fVertZPos[1];