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