]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/SPECTRA/AliAnalysisCentralCutEvtESD.h
0643733df98d0a3c2c71d0d47cc09964fd64b861
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / AliAnalysisCentralCutEvtESD.h
1 #ifndef ALIANALYSISCENTRALCUTEVTESD_H
2 #define ALIANALYSISCENTRALCUTEVTESD_H
3
4 /*
5  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
6  * See cxx source for full Copyright notice
7  * $Id$
8  */
9
10 // ---------------------------------------------------
11 //  ESD event level cuts for azimuthal isotropic
12 //  expansion in highly central collisions analysis
13 //  author: Cristian Andrei
14 //           acristian@niham.nipne.ro
15 //  --------------------------------------------------
16
17
18 #include "AliAnalysisCuts.h"
19
20
21 class TObject;
22 class TObjArray;
23 class TList;
24
25 class AliESDEvent;
26
27
28 class AliAnalysisCentralCutEvtESD: public AliAnalysisCuts {
29 public:
30     AliAnalysisCentralCutEvtESD(const char *name="AliAnalysisCentralCutEvtESD", const char *title="ESD_Event_cuts");
31     virtual ~AliAnalysisCentralCutEvtESD();
32
33     Bool_t  IsSelected(TObject* obj, TObject* obj2);
34     // Bool_t  IsSelected(TList* /*list*/) {return kTRUE;}
35
36     void SetMultiplicityRange(Int_t r1 = 0, Int_t r2 = 1000000) {fReqMult = kTRUE; fMultMin = r1; fMultMax = r2;}
37     void SetDirectivityRange(Double_t r1 = 0.0, Double_t r2 = 1e10) {fReqDir = kTRUE; fDirMin = r1; fDirMax = r2;}
38     void SetSPDMultiplicityRange(Int_t r1 = 0, Int_t r2 = 1000000) {fReqSPDMult = kTRUE; fSPDMultMin = r1; fSPDMultMax = r2;}
39     void SetSPDDirectivityRange(Double_t r1 = 0.0, Double_t r2 = 1e10) {fReqSPDDir = kTRUE; fSPDDirMin = r1; fSPDDirMax = r2;}
40
41 private:
42         AliAnalysisCentralCutEvtESD(const AliAnalysisCentralCutEvtESD& ref);
43         AliAnalysisCentralCutEvtESD& operator=(const AliAnalysisCentralCutEvtESD& ref);
44
45     Bool_t fReqMult, fReqDir, fReqSPDMult, fReqSPDDir; //set whether to compute multiplicity, directivity or dir unity
46     Double_t fMultMin, fMultMax; //stores the multiplicity cut interval
47     Double_t fDirMin, fDirMax;  //stores the directivity cut interval
48     Double_t fSPDMultMin, fSPDMultMax;  //stores the SPD multiplicity cut interval
49     Double_t fSPDDirMin, fSPDDirMax;  //stores the directivity unity cut interval
50
51     TObjArray *fCutsList[10];  //list containing the cuts
52
53     void InitCuts(); //used to initialize the cuts
54
55     Bool_t CheckIntCuts(Int_t no, TObject *obj) const; //used to check if a track/particle is selected
56
57     Int_t CalcMult(AliESDEvent* const esdEv);
58     Double_t CalcDir(AliESDEvent* const esdEv);
59     Int_t CalcSPDMult(AliESDEvent* const esdEv);
60     Double_t CalcSPDDir(AliESDEvent* const esdEv);
61
62     ClassDef(AliAnalysisCentralCutEvtESD, 1);
63 };
64
65 #endif