Changes for #82873: Module debugging broken (Christian)
[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 "AliRsnCut.h"
17
18 class AliPID;
19 class AliESDpid;
20 class AliAODpidUtil;
21
22 class AliRsnCutPIDTPC : public AliRsnCut {
23 public:
24
25    AliRsnCutPIDTPC(const char *name       = "cutTPC",
26                    EPARTYPE type          = AliPID::kKaon,
27                    Double_t nSigmaMin     = -3.,
28                    Double_t nSigmaMax     =  3.,
29                    Bool_t   rejectOutside = kTRUE);
30
31    AliRsnCutPIDTPC(const AliRsnCutPIDTPC& copy);
32    AliRsnCutPIDTPC& operator=(const AliRsnCutPIDTPC& copy);
33    virtual ~AliRsnCutPIDTPC() { }
34
35    AliESDpid*       ESDpid()  {return fESDpid;}
36    AliAODpidUtil*   AODpid()  {return fAODpid;}
37
38    void             SetRejectOutside(Bool_t yn = kTRUE)           {fRejectOutside = yn;}
39    void             SetMomentumRange(Double_t min, Double_t max)  {fMomMin = min; fMomMax = max;}
40    void             SetNSigmaRange(Double_t min, Double_t max)    {fMinD = min; fMaxD = max;}
41    void             SetRefType(EPARTYPE type)                     {fRefType = type;}
42    void             SetBBParam(const Double_t *p)                 {SetBBParam(p[0], p[1], p[2], p[3], p[4]);}
43    void             SetBBParam(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4);
44
45    virtual Bool_t   IsSelected(TObject *object);
46    virtual void     Print(const Option_t *option = "") const;
47
48 private:
49
50    Bool_t          fRejectOutside;  //  choose if tracks outside momentum range are rejected or not
51    Double_t        fMomMin;         //  min p in range where this cut is checked
52    Double_t        fMomMax;         //  max p in range where this cut is checked
53    EPARTYPE        fRefType;        //  particle type for which PID is checked
54    AliESDpid      *fESDpid;         //! ESD PID object
55    AliAODpidUtil  *fAODpid;         //! AOD PID object
56    Double_t        fBB[5];          //  Bethe-Bloch parameters
57    
58
59    ClassDef(AliRsnCutPIDTPC, 1)
60 };
61
62 #endif