]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnCutSetDaughterParticle.h
Update macros for lego_train and datasets (mvala)
[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
20 class AliRsnCutSetDaughterParticle : public AliRsnCutSet {
21
22 public:
23
24    enum ERsnDaughterCutSet {
25      kNoCuts,
26      kQualityStd2010,
27      kQualityStd2011,
28      kTOFMatch,
29      kFastTPCpidNsigma,
30      kFastTOFpidNsigma,
31      kTPCTOFpidKstarPP2010,
32      kTOFpidKstarPbPb2010,
33      kNDaughterCuts
34   };
35      
36    AliRsnCutSetDaughterParticle();
37    AliRsnCutSetDaughterParticle(const char *name, 
38                                 AliRsnCutSetDaughterParticle::ERsnDaughterCutSet cutSetID,
39                                 AliPID::EParticleType pid,
40                                 Float_t nsigmaFast,
41                                 Int_t AODfilterBit);
42    AliRsnCutSetDaughterParticle(const AliRsnCutSetDaughterParticle &copy);
43    AliRsnCutSetDaughterParticle &operator=(const AliRsnCutSetDaughterParticle &copy);
44    virtual ~AliRsnCutSetDaughterParticle();
45    
46    void           Init();
47    void           SetNsigmaForFastTPCpid(Float_t nsigma){fNsigmaTPC=nsigma; return;};
48    void           SetNsigmaForFastTOFpid(Float_t nsigma){fNsigmaTOF=nsigma; return;};
49    void           SetAODTrackCutFilterBit(Int_t ibit){fAODTrkCutFilterBit=ibit; return;}
50    //getters
51    const char *  GetAppliedDaughterCutSetName() { return GetName();}
52    const Int_t   GetAppliedDaughterCutSetId() { return fAppliedCutSetID;}
53    const AliRsnCutTrackQuality * GetQualityCut() {return fCutQuality;};
54
55 private:
56
57    AliPID::EParticleType fPID;              // PID for track
58    AliRsnCutSetDaughterParticle::ERsnDaughterCutSet    fAppliedCutSetID;     // ID of applied cut
59    Float_t               fNsigmaTPC;         // number of TPC sigmas for fast pid cut only
60    Float_t               fNsigmaTOF;         // number of TOF sigmas for fast pid cut only 
61    AliRsnCutTrackQuality * fCutQuality;      //pointer to quality cut object
62    Int_t                 fAODTrkCutFilterBit; //AOD filter bit for track cuts
63    ClassDef(AliRsnCutSetDaughterParticle, 2) // cut definitions for K*
64
65 };
66
67 #endif