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