]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutESD2010.h
fixed sig.segv
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutESD2010.h
1 //
2 // Class AliRsnCutRange
3 //
4 // General implementation of cuts which check a value inside a range.
5 // This range can be defined by two integers or two doubles.
6 // A user-friendly enumeration allows to define what is checked.
7 //
8 // authors: Martin Vala (martin.vala@cern.ch)
9 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
10 //
11
12 #ifndef ALIRSNCUTESD2010_H
13 #define ALIRSNCUTESD2010_H
14
15 #include "AliPID.h"
16 #include "AliESDtrackCuts.h"
17 #include "AliRsnCut.h"
18
19 class AliESDpid;
20 class AliTOFT0maker;
21 class AliTOFcalib;
22
23 class AliRsnCutESD2010 : public AliRsnCut
24 {
25   public:
26
27     AliRsnCutESD2010(const char *name = "cutESD2010", Bool_t isMC = kFALSE);
28     AliRsnCutESD2010(const AliRsnCutESD2010& copy);
29     AliRsnCutESD2010& operator=(const AliRsnCutESD2010& copy);
30     virtual ~AliRsnCutESD2010() {;};
31
32     const AliESDtrackCuts* GetCutsTPC() const {return &fESDtrackCutsTPC;}
33     const AliESDtrackCuts* GetCutsITS() const {return &fESDtrackCutsITS;}
34     virtual Bool_t         IsSelected(TObject *obj1, TObject *obj2 = 0x0);
35     
36     void             SetMC       (Bool_t yn = kTRUE);
37     void             SetCheckITS (Bool_t yn = kTRUE) {fCheckITS = yn;}
38     void             SetCheckTPC (Bool_t yn = kTRUE) {fCheckTPC = yn;}
39     void             SetCheckTOF (Bool_t yn = kTRUE) {fCheckTOF = yn;}
40     void             SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
41     void             SetUseITSSA (Bool_t yn = kTRUE) {fUseITSSA = yn;}
42     void             SetMaxEta   (Double_t v)        {fMaxEta = v;}
43     void             SetPID      (AliPID::EParticleType t) {fPID = t;}
44     
45     void             SetITSband(Double_t v) {fMaxITSband = v;}
46     
47     void             SetTPCpLimit(Double_t v) {fTPCpLimit = v;}
48     void             SetTPCrange(Double_t min, Double_t max) {fMinTPCband = min; fMaxTPCband = max;}
49     void             SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
50                        {fTPCpar[0]=p0;fTPCpar[1]=p1;fTPCpar[2]=p2;fTPCpar[3]=p3;fTPCpar[4]=p4;}
51
52     void             SetTOFcalibrateESD(Bool_t yn = kTRUE)  {fTOFcalibrateESD = yn;}
53     void             SetTOFcorrectTExp (Bool_t yn = kTRUE)  {fTOFcorrectTExp = yn;}
54     void             SetTOFuseT0       (Bool_t yn = kTRUE)  {fTOFuseT0 = yn;}
55     void             SetTOFtuneMC      (Bool_t yn = kTRUE)  {fTOFtuneMC = yn;}
56     void             SetTOFresolution  (Double_t v = 100.0) {fTOFresolution = v;}
57     void             SetTOFrange       (Double_t v1, Double_t v2) {fMinTOF = v1; fMaxTOF = v2;}
58     
59     virtual void     SetEvent(AliRsnEvent *event);
60
61   protected:
62   
63     Bool_t                  fIsMC;             //  switch for MC analysis
64     Bool_t                  fCheckITS;         //  switch for ITS dE/dx check
65     Bool_t                  fCheckTPC;         //  switch for TPC dE/dx check
66     Bool_t                  fCheckTOF;         //  switch for TOF time check
67     Bool_t                  fUseGlobal;        //  switch to use TPC global tracks
68     Bool_t                  fUseITSSA;         //  switch to use ITS standalone tracks
69     AliPID::EParticleType   fPID;              //  PID reference type used for checks
70     
71     Double_t                fMaxEta;           //  cut in eta
72
73     Double_t                fMaxITSband;       //  range for ITS de/dx band
74
75     Double_t                fTPCpLimit;        //  limit to choose what band to apply
76     Double_t                fTPCpar[5];        //  parameters for TPC bethe-Bloch
77     Double_t                fMinTPCband;       //  range for TPC de/dx band - min
78     Double_t                fMaxTPCband;       //  range for TPC de/dx band - max
79     
80     AliESDtrackCuts         fESDtrackCutsTPC;  //  ESD standard defined track cuts for TPC tracks
81     AliESDtrackCuts         fESDtrackCutsITS;  //  ESD standard defined track cuts for ITS-SA tracks
82     AliESDpid       *fESDpid;           //! PID manager
83     AliTOFT0maker   *fTOFmaker;         //! TOF time0 computator
84     AliTOFcalib     *fTOFcalib;         //! TOF calibration
85     Bool_t                  fTOFcalibrateESD;  //  TOF settings
86     Bool_t                  fTOFcorrectTExp;   //  TOF settings
87     Bool_t                  fTOFuseT0;         //  TOF settings
88     Bool_t                  fTOFtuneMC;        //  TOF settings
89     Double_t                fTOFresolution;    //  TOF settings
90     Double_t                fMinTOF;           //  range for TOF PID (min)
91     Double_t                fMaxTOF;           //  range for TOF PID (max)
92     Int_t                   fLastRun;          //  last run number
93
94     ClassDef(AliRsnCutESD2010, 1)
95 };
96
97 #endif