Splitted the PID cuts into three classes for ITS, TPC and TOF, and added the possibil...
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnCutPIDTOF.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 ALIRSNCUTPIDTOF_H
13 #define ALIRSNCUTPIDTOF_H
14
15 #include "AliPID.h"
16 #include "AliESDpid.h"
17 #include "AliAODpidUtil.h"
18
19 class AliTOFT0maker;
20 class AliTOFcalib;
21 class AliESDtrack;
22 class AliAODTrack;
23
24 #include "AliRsnCut.h"
25
26 class AliRsnCutPIDTOF : public AliRsnCut
27 {
28   public:
29
30     AliRsnCutPIDTOF(const char *name = "cutPIDTOF", Bool_t isMC = kFALSE, Double_t min = -10.0, Double_t max = 10.0, Bool_t forceMatching = kFALSE);
31     AliRsnCutPIDTOF(const AliRsnCutPIDTOF& copy);
32     AliRsnCutPIDTOF& operator=(const AliRsnCutPIDTOF& copy);
33     virtual ~AliRsnCutPIDTOF() { }
34     
35     void             SetMC(Bool_t yn = kTRUE) {fIsMC = yn;}
36     virtual Bool_t   IsSelected(TObject *object);
37
38   protected:
39   
40     void    ProcessCurrentEvent();
41     Bool_t  CheckESD(AliESDtrack *track);
42     Bool_t  CheckAOD(AliAODTrack *track);
43   
44     Bool_t                 fIsMC;             //  switch for MC analysis   
45     Bool_t                 fForceMatching;    //  decide if non TOF matched tracks pass the cut or not 
46     AliPID::EParticleType  fPIDtype;          //  particle type for which PID is checked   
47     AliESDpid              fESDpid;           //  PID utility for ESD
48     AliAODpidUtil          fAODpid;           //  PID utility for AOD
49     
50   //static Bool_t          fgTOFcalibrateESD; //! TOF settings
51     static Bool_t          fgTOFcorrectTExp;  //! TOF settings
52     static Bool_t          fgTOFuseT0;        //! TOF settings
53     static Bool_t          fgTOFtuneMC;       //! TOF settings
54     static Double_t        fgTOFresolution;   //! TOF settings
55     static AliTOFT0maker  *fgTOFmaker;        //! TOF time0 computator
56     static AliTOFcalib    *fgTOFcalib;        //! TOF calibration
57     static Int_t           fgLastRun;         //! last run number
58     static Int_t           fgLastEventID;     //! ID of last event processed
59     static AliESDEvent    *fgLastEvent;       //! pointer to last processed event
60
61     ClassDef(AliRsnCutPIDTOF, 1)
62 };
63
64 #endif