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