]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - ANALYSIS/AliEventCut.h
DAs upgraded to AliZDCRawStream class
[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// Author: Piotr.Skowronski@cern.ch
13///////////////////////////////////////////////////////////
14
15#include <TObject.h>
16#include <TObjArray.h>
17#include "AliEventBaseCut.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 Rejected(AliAOD* aod) const;//returns kTRUE if rejected
29 void AddBasePartCut(AliEventBaseCut* ebcut);
30
31 void SetNChargedRange(Int_t min,Int_t max, Double_t etamin = -10.0,Double_t etamax = 10.0);
32 void SetVertexXRange(Double_t min, Double_t max);
33 void SetVertexYRange(Double_t min, Double_t max);
34 void SetVertexZRange(Double_t min, Double_t max);
35
36 protected:
37 AliEventBaseCut* FindCut(AliEventBaseCut::EEventCutProperty prop);
38
39 TObjArray fBaseCuts; // Array of cuts
40 private:
41 ClassDef(AliEventCut,1)
42};
43
44class AliEventEmptyCut: public TObject
45{
46 public:
47 AliEventEmptyCut(){}
48 virtual ~AliEventEmptyCut(){}
49
50 Bool_t Rejected(AliAOD* /*aod*/) const {return kFALSE;}//always accept
51
52 protected:
53 private:
54 ClassDef(AliEventEmptyCut,1)
55};
56
57#endif