]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/RESONANCES/AliRsnCutAOD2010.h
Update of package classes.
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutAOD2010.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 ALIRSNCUTAOD2010_H
13 #define ALIRSNCUTAOD2010_H
14
15 #include "AliPID.h"
16 #include "AliAODTrack.h"
17 #include "AliAODpidUtil.h"
18
19 #include "AliRsnCut.h"
20
21 class AliRsnCutAOD2010 : public AliRsnCut
22 {
23   public:
24
25     AliRsnCutAOD2010(const char *name = "cutAOD2010", Bool_t isMC = kFALSE);
26     AliRsnCutAOD2010(const AliRsnCutAOD2010& copy);
27     virtual ~AliRsnCutAOD2010() {;};
28
29     virtual Bool_t   IsSelected(TObject *object);
30     
31     void             SetMC       (Bool_t yn = kTRUE);
32     void             SetCheckITS (Bool_t yn = kTRUE) {fCheckITS = yn;}
33     void             SetCheckTPC (Bool_t yn = kTRUE) {fCheckTPC = yn;}
34     void             SetCheckTOF (Bool_t yn = kTRUE) {fCheckTOF = yn;}
35     void             SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
36     void             SetUseITSSA (Bool_t yn = kTRUE) {fUseITSSA = yn;}
37     void             SetPIDtype  (AliPID::EParticleType pid) {fPIDtype = pid;}
38     void             SetMaxEta   (Double_t eta) {fMaxEta = eta;}
39     
40     void             SetTPCminNclusters(Int_t v)         {fTPCminNclusters = v;}
41     void             SetTPCmaxChi2(Double_t v)           {fTPCmaxChi2 = v;}     
42     void             SetTPCmaxNSigmaDCA(Double_t v)      {fTPCmaxNSigmaDCA = v;}
43     void             SetTPCparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fTPCparamDCA[i] = v;} 
44     void             SetTPClowBand(Double_t v)           {fTPClowBand = v;}     
45     void             SetTPChighBand(Double_t v)          {fTPChighBand = v;}    
46     void             SetTPClowLimit(Double_t v)          {fTPClowLimit = v;}    
47     
48     void             SetITSminNclusters(Int_t v)         {fITSminNclusters = v;}
49     void             SetITSmaxChi2(Double_t v)           {fITSmaxChi2 = v;}     
50     void             SetITSmaxNSigmaDCA(Double_t v)      {fITSmaxNSigmaDCA = v;}
51     void             SetITSparamDCA(Int_t i, Double_t v) {if (i >= 0 && i < 3) fITSparamDCA[i] = v;} 
52     void             SetITSparamBB(Int_t i, Double_t v)  {if (i >= 0 && i < 3) fITSparamBB[i] = v;}  
53     void             SetITSband(Double_t v)              {fITSband = v;}    
54
55     void             SetTOFrange(Double_t v1, Double_t v2) {fTOFlowLimit = v1; fTOFhighLimit = v2;}
56     
57     AliAODpidUtil*   GetPIDUtil() {return &fPID;}
58
59   protected:
60   
61     AliRsnCutAOD2010& operator=(const AliRsnCutAOD2010& /*copy*/) {return (*this);}
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     
70     Double_t              fMaxEta;           // eta range for tracks
71     
72     AliPID::EParticleType fPIDtype;          // particle type for which PID is checked   
73     
74     Int_t                 fTPCminNclusters;  // minimum number of clusters in TPC
75     Double_t              fTPCmaxChi2;       // maximum chi2 / number of clusters in TPC
76     Double_t              fTPCmaxNSigmaDCA;  // cut in DCA (transv) in numbers of sigma (pt-dependent)
77     Double_t              fTPCparamDCA[3];   // parameters to compute sigma for DCA
78     Double_t              fTPClowBand;       // large band for low momentum PID
79     Double_t              fTPChighBand;      // large band for low momentum PID
80     Double_t              fTPClowLimit;      // limit of low momentum region
81     
82     Int_t                 fITSminNclusters;  // minimum number of clusters in TPC
83     Double_t              fITSmaxChi2;       // maximum chi2 / number of clusters in TPC
84     Double_t              fITSmaxNSigmaDCA;  // cut in DCA (transv) in numbers of sigma (pt-dependent)
85     Double_t              fITSparamDCA[3];   // parameters to compute sigma for DCA
86     Double_t              fITSparamBB[5];    // parameters for TPC Bethe-Bloch parameterization
87     Double_t              fITSband;          // fiducial region for selection of PID
88     
89     Double_t              fTOFlowLimit;      // low limit in asymmetric TOF PID cut
90     Double_t              fTOFhighLimit;     // low limit in asymmetric TOF PID cut
91     
92     AliAODpidUtil         fPID;              // PID utility
93
94     ClassDef(AliRsnCutAOD2010, 1)
95 };
96
97 #endif