Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutPIDTPC.h
1 //
2 // *** Class AliRsnCutPIDTPC ***
3 //
4 // This class implements all cuts which have to be used for the 2010 runs
5 // for phi and generic resonance analysis.
6 // It contains an AliESDtrackCuts object for track quality selection
7 // and some criteria for particle identification with ITS, TPC and TOF.
8 //
9 // authors: Martin Vala (martin.vala@cern.ch)
10 //          Alberto Pulvirenti (alberto.pulvirenti@ct.infn.it)
11 //
12
13 #ifndef ALIRSNCUTPIDTPC_H
14 #define ALIRSNCUTPIDTPC_H
15
16 #include "AliPID.h"
17 #include "AliESDtrack.h"
18 #include "AliESDtrackCuts.h"
19 #include "AliESDpid.h"
20 #include "AliAODpidUtil.h"
21 #include "AliRsnCut.h"
22
23 class AliRsnCutPIDTPC : public AliRsnCut
24 {
25   public:
26
27     AliRsnCutPIDTPC(const char *name = "cutPIDTPC", AliPID::EParticleType type = AliPID::kKaon, Double_t momLimit = 0.350, Double_t cut1 = 5.0, Double_t cut2 = 3.0);
28     AliRsnCutPIDTPC(const AliRsnCutPIDTPC& copy);
29     AliRsnCutPIDTPC& operator=(const AliRsnCutPIDTPC& copy);
30     virtual ~AliRsnCutPIDTPC() { }
31
32     AliESDpid*       GetESDpid()                         {return &fESDpid;}    
33     void             SetPIDType(AliPID::EParticleType t) {fPIDtype = t;}
34         
35     void             SetMomentumLimit(Double_t v)        {fMomentumLimit = v;}
36     void             SetLargeCut(Double_t v)             {fLargeCut = v;}
37     void             SetSmallCut(Double_t v)             {fSmallCut = v;}
38     void             SetBBParam(Double_t *p)             {SetBBParam(p[0], p[1], p[2], p[3], p[4]);}
39     void             SetBBParam(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4);
40     
41     virtual Bool_t   IsSelected(TObject *object);
42     virtual void     Print(const Option_t *option = "") const;
43
44   protected:
45   
46     AliPID::EParticleType   fPIDtype;          //  PID reference type used for checks
47     
48     Double_t                fMomentumLimit;    //  below this value, large cut is used; above, small one is used (value in GeV/c)
49     Double_t                fLargeCut;         //  range for TPC de/dx large cut
50     Double_t                fSmallCut;         //  range for TPC de/dx small cut
51     
52     AliESDpid               fESDpid;           //  ESD PID object
53     AliAODpidUtil           fAODpid;           //  AOD PID object
54
55     ClassDef(AliRsnCutPIDTPC, 1)
56 };
57
58 #endif