Event Cut developed; Spacial event move implemented; and few others
[u/mrichter/AliRoot.git] / ANALYSIS / AliEventCut.h
... / ...
CommitLineData
1#ifndef ALIEVENTCUT_H
2#define ALIEVENTCUT_H
3//________________________________
4///////////////////////////////////////////////////////////
5//
6// class AliEventCut
7//
8// Event cut. It has list of base event cuts.
9// Each of base event cut checks only one property.
10// Logical base cuts also exists that point to other base cuts.
11// Using them one can build complicated cut with binary tree structure
12//
13///////////////////////////////////////////////////////////
14
15#include <TObject.h>
16#include <TObjArray.h>
17#include "AliBaseEventCut.h"
18
19class AliAOD;
20
21class AliEventCut: public TObject
22{
23 public:
24 AliEventCut();
25 AliEventCut(const AliEventCut& in);
26 virtual ~AliEventCut();
27
28 virtual Bool_t Pass(AliAOD* aod) const;//returns kTRUE if rejected
29 void AddBasePartCut(AliBaseEventCut* ebcut){fBaseCuts.Add(ebcut);}
30
31 protected:
32 TObjArray fBaseCuts;
33 private:
34 ClassDef(AliEventCut,1)
35};
36
37class AliEmptyEventCut: public TObject
38{
39 public:
40 AliEmptyEventCut(){}
41 virtual ~AliEmptyEventCut(){}
42
43 Bool_t Pass(AliAOD* aod) const {return kFALSE;}//always accept
44
45 protected:
46 private:
47 ClassDef(AliEmptyEventCut,1)
48};
49
50#endif