]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnCutKaon.h
fixing psi in MC from the header
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutKaon.h
1 #ifndef ALIRSNCUTKAON_H
2 #define ALIRSNCUTKAON_H
3
4 //
5 // Cuts for selecting good pion candidates for rsn analysis
6 // Applies track quality selection plus PID selection,
7 // with different tolerance ranges depending on the momentum.
8 //
9
10 #include "AliVTrack.h"
11 #include "AliRsnCut.h"
12 #include "AliRsnCutTrackQuality.h"
13
14 class AliRsnCutKaon : public AliRsnCut {
15
16 public:
17    enum ERsnKaonCut {
18       kQualityStd2010,
19       kTOFMatchStd2010,
20       kFastTPCpidNsigma,
21       kFastTPCpid1point5sigma,
22       kFastTPCpid2sigma,
23       kFastTPCpid3sigma,
24       kFastTOFpidNsigma,
25       kFastTOFpid1point5sigma,
26       kFastTOFpid2sigma,
27       kFastTOFpid3sigma,
28       kTPCTOFpidDefaultKstarPP2010,
29       kNkaonCuts
30    };
31
32    AliRsnCutKaon(const char *name = "", AliRsnCutKaon::ERsnKaonCut cutID = AliRsnCutKaon::kQualityStd2010 , AliPID::EParticleType pid = AliPID::kKaon);
33    virtual ~AliRsnCutKaon() { }
34
35    void                   SetNoPID(Bool_t yn = kTRUE)        {fNoPID = yn;}
36    AliRsnCutTrackQuality *CutQuality()                       {return &fCutQuality;}
37    Bool_t                 MatchTOF(const AliVTrack *vtrack);
38
39    Bool_t         IsSelected(TObject *obj);
40
41    Bool_t         IsSelectedByQualityStd2010(TObject *obj, Bool_t requireTPCin, Bool_t requireTPCrefit,  Bool_t requireITSrefit );
42    Bool_t         IsSelectedByTOFMatchStd2010(TObject *obj);
43
44    Bool_t         IsSelectedByFastTPCpidNsigma(TObject *obj,Float_t nSigmaCut);
45    Bool_t         IsSelectedByFastTPCpid1point5sigma(TObject *obj)   {return IsSelectedByFastTPCpidNsigma(obj, 1.5);}
46    Bool_t         IsSelectedByFastTPCpid2sigma(TObject *obj)         {return IsSelectedByFastTPCpidNsigma(obj, 2.0);}
47    Bool_t         IsSelectedByFastTPCpid3sigma(TObject *obj)         {return IsSelectedByFastTPCpidNsigma(obj, 3.0);}
48
49    Bool_t         IsSelectedByFastTOFpidNsigma(TObject *obj,Float_t nSigmaCut);
50    Bool_t         IsSelectedByFastTOFpid1point5sigma(TObject *obj)   {return IsSelectedByFastTOFpidNsigma(obj, 1.5);}
51    Bool_t         IsSelectedByFastTOFpid2sigma(TObject *obj)         {return IsSelectedByFastTOFpidNsigma(obj, 2.0);}
52    Bool_t         IsSelectedByFastTOFpid3sigma(TObject *obj)         {return IsSelectedByFastTOFpidNsigma(obj, 3.0);}
53
54    Bool_t         IsSelectedByTPCTOFpidDefaultKstarPP2010(TObject *obj);
55
56    //setters
57    void     SetNsigmaCutTPC(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTPC=nMaxSigmaCut; return;}
58    void     SetNsigmaCutTOF(Float_t nMaxSigmaCut=1E6) {fNsigmaCutTOF=nMaxSigmaCut; return;}
59
60    //getters
61    const char   *GetAppliedKaonCutName() { if (fAppliedCutID>0) { return fgkCutName[fAppliedCutID];} else {return "none";}}
62    Int_t   GetAppliedKaonCutId() { return fAppliedCutID;}
63    const char   *GetKaonCutName(const AliRsnCutKaon::ERsnKaonCut cutID) { return fgkCutName[cutID];}
64
65 private:
66
67    Bool_t                fNoPID;            // flag to switch off PID check
68    AliPID::EParticleType fPID;              // PID for track
69    AliRsnCutTrackQuality fCutQuality;       // track quality cut
70    Int_t                 fAppliedCutID;     // ID of applied cut
71    static const char    *fgkCutName[kNkaonCuts]; //array with cuts names
72    Float_t               fNsigmaCutTPC;     //  max sigma for TPC dE/dx fast cut
73    Float_t               fNsigmaCutTOF;     //  max sigma for TOF t-t0-t_exp fast cut
74
75    ClassDef(AliRsnCutKaon, 1) // cut definitions for K*
76
77 };
78
79 #endif