]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnCutSetDaughterParticle.h
Add Task macro for the checks on pileup
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutSetDaughterParticle.h
1 #ifndef ALIRSNCUTSETDAUGHTERPARTICLE_H
2 #define ALIRSNCUTSETDAUGHTERPARTICLE_H
3
4 //
5 // Cuts collection for selecting good daughter candidates for rsn analysis
6 //Requires:
7 // 1) choice of existing cuts among the enum list
8 // 2) PID ipothesis for the daughter particle
9 //
10 // Author: Francesca Bellini (fbellini@cern.ch)
11 //
12
13 #include "AliVTrack.h"
14 #include "AliRsnCut.h"
15 #include "AliRsnCutSet.h"
16 #include "AliRsnCutTrackQuality.h"
17 #include "AliRsnCutPIDNSigma.h"
18 #include "AliRsnCutTOFMatch.h"
19 #include "AliRsnCutPhi.h"
20
21 class AliRsnCutSetDaughterParticle : public AliRsnCutSet {
22
23 public:
24
25    enum ERsnDaughterCutSet {
26       kNoCuts,
27       kQualityStd2010,
28       kQualityStd2011,    
29       kTOFMatch,
30       kFastTPCpidNsigma,
31       kFastTOFpidNsigma,
32       kTPCTOFpidKstarPP2010,
33       kTOFpidKstarPbPb2010,
34       kTOFTPCmismatchKstarPbPb2010,
35       kTOFMatchTRD2010,
36       kTOFMatchNoTRD2010,
37       kTOFpidKstarPbPbTRD2010,
38       kTOFpidKstarPbPbNoTRD2010,
39       kTOFMatchTPCpidNsigma,     
40       kQualityStd2010TRD,
41       kQualityStd2010NoTRD,
42       kTOFMatchPPB2011, //pA analysis
43       kTPCpidKstarPPB2011,
44       kTOFpidKstarPPB2011,
45       kTPCTOFpidKstarPPB2011,
46       kTPCpidTOFvetoKStarPPB2011, //TPC pid with TOF veto
47       kTPCpidMatchPPB2011, //Match with nsigma = fNsigmaTPC
48       kNDaughterCuts
49    };
50
51    AliRsnCutSetDaughterParticle();
52    AliRsnCutSetDaughterParticle(const char *name,
53                                 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
54                                 AliPID::EParticleType pid,
55                                 Float_t nsigmaFast,
56                                 Int_t AODfilterBit);
57    AliRsnCutSetDaughterParticle(const AliRsnCutSetDaughterParticle &copy);
58    AliRsnCutSetDaughterParticle &operator=(const AliRsnCutSetDaughterParticle &copy);
59    virtual ~AliRsnCutSetDaughterParticle();
60
61    void           Init();
62    void           SetNsigmaForFastTPCpid(Float_t nsigma) {fNsigmaTPC=nsigma; return;};
63    void           SetNsigmaForFastTOFpid(Float_t nsigma) {fNsigmaTOF=nsigma; return;};
64    void           SetAODTrackCutFilterBit(Int_t ibit) {fAODTrkCutFilterBit=ibit; return;}
65    //getters
66    const char   *GetAppliedDaughterCutSetName() { return GetName();}
67    Int_t         GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
68    const AliRsnCutTrackQuality *GetQualityCut() {return fCutQuality;};
69
70 private:
71
72    AliPID::EParticleType fPID;              // PID for track
73    AliRsnCutSetDaughterParticle::ERsnDaughterCutSet    fAppliedCutSetID;     // ID of applied cut
74    Float_t               fNsigmaTPC;         // number of TPC sigmas for fast pid cut only
75    Float_t               fNsigmaTOF;         // number of TOF sigmas for fast pid cut only
76    AliRsnCutTrackQuality *fCutQuality;       //pointer to quality cut object
77    Int_t                 fAODTrkCutFilterBit; //AOD filter bit for track cuts
78    ClassDef(AliRsnCutSetDaughterParticle, 2) // cut definitions for K*
79
80 };
81
82 #endif