]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnValuePID.h
Added AliRsnAction, AliRsnPIDRange
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnValuePID.h
1 #ifndef ALIRSNVALUEPID_H
2 #define ALIRSNVALUEPID_H
3
4 //
5 // AliRsnValuePID
6 // Implementation of values related to PID
7 // which can be used to monitor or check cuts
8 // based on tolerance ranges between detector signals
9 // and expected responses for particle species
10 //
11
12 #include "AliPID.h"
13 #include "AliRsnValue.h"
14
15 class AliVTrack;
16 class AliPIDResponse;
17
18 class AliRsnValuePID : public AliRsnValue {
19
20 public:
21
22    enum EValuePID {
23       kITSsignal,
24       kITSnsigma,
25       kTPCsignal,
26       kTPCnsigma,
27       kTOFsignal,
28       kTOFnsigma,
29       kTOFtime,
30       kTOFsigma,
31       kValues
32    };
33
34    AliRsnValuePID();
35    AliRsnValuePID(const char *name, EValuePID type, AliPID::EParticleType species, Int_t nbins = 0, Double_t min = 0.0, Double_t max = 0.0);
36    AliRsnValuePID(const char *name, EValuePID type, AliPID::EParticleType species, Double_t min, Double_t max, Double_t step);
37    AliRsnValuePID(const char *name, EValuePID type, AliPID::EParticleType species, Int_t nbins, Double_t *array);
38    AliRsnValuePID(const AliRsnValuePID &copy);
39    AliRsnValuePID &operator=(const AliRsnValuePID &copy);
40
41    virtual ~AliRsnValuePID() { }
42
43    void            SetValuePID(EValuePID type) {fValuePID = type;}
44    EValuePID       GetValuePID() const         {return fValuePID;}
45
46    virtual Bool_t  Eval(TObject *object, Bool_t useMC = kFALSE);
47    virtual void    Print(Option_t *option = "") const;
48
49 protected:
50
51    void   InitializePID();
52    Bool_t TOFComputations(AliVTrack *track);
53
54    AliPID::EParticleType  fSpecies;                    //  particle species
55    EValuePID              fValuePID;                   //  output object
56    AliPIDResponse        *fPID;                        //  PID response object
57    Double_t               fTOFtimes[AliPID::kSPECIES]; //! TOF times
58    Double_t               fTOFsigma[AliPID::kSPECIES]; //! TOF sigma
59
60    ClassDef(AliRsnValuePID,1)                          //   AliRsnValuePID class
61
62 };
63
64 #endif