]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/AliRsnCutV0.h
Updated macros and DCA cut for Sigma* analysis (M.Venaruzzo)
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutV0.h
CommitLineData
8082e538 1#ifndef ALIRSNCUTV0_H
2#define ALIRSNCUTV0_H
3
4#include <TMath.h>
5#include <TString.h>
6
7#include "AliRsnCut.h"
3da8cef7 8#include "AliPIDResponse.h"
8082e538 9
76d89202 10#include "AliRsnCutTrackQuality.h"
11
8082e538 12class AliESDtrack;
13class AliAODTrack;
14
3da8cef7 15
8082e538 16class AliRsnCutV0 : public AliRsnCut {
17
18public:
19
3da8cef7 20
3da8cef7 21 AliRsnCutV0(const char *name = "AliRsnCutV0", Int_t hypothesis = kLambda0, AliPID::EParticleType pid = AliPID::kProton, AliPID::EParticleType pid2 = AliPID::kPion);
61f275d1 22 AliRsnCutV0(const AliRsnCutV0 &copy);
23 AliRsnCutV0 &operator=(const AliRsnCutV0 &copy);
8082e538 24 virtual ~AliRsnCutV0() { }
61f275d1 25
8082e538 26 void SetESDtrackCuts(AliESDtrackCuts *cuts) {fESDtrackCuts = cuts;}
27 void SetHypothesis(Int_t code);
28 void SetTolerance(Double_t value) {fTolerance = value;}
29 void SetMaxDCAVertex(Double_t value) {fMaxDCAVertex = value;}
30 void SetMinCosPointingAngle(Double_t value) {fMinCosPointAngle = value;}
31 void SetMaxDaughtersDCA(Double_t value) {fMaxDaughtersDCA = value;}
9d4bb6d8 32 void SetMinTPCcluster(Int_t value) {fMinTPCcluster = value;}
3da8cef7 33 void SetMaxRapidity(Double_t value) {fMaxRapidity = value;}
92932daf 34
35 void SetPIDCutProton(Double_t value) {fPIDCutProton = value;}
36 void SetPIDCutPion(Double_t value) {fPIDCutPion = value;}
37
38
39 AliRsnCutTrackQuality *CutQuality() {return &fCutQuality;}
40 void SetAODTestFilterBit(Int_t value) {fAODTestFilterBit = value;}
76d89202 41 Int_t GetAODTestFilterBit() {return fAODTestFilterBit;}
42
8082e538 43 virtual Bool_t IsSelected(TObject *obj);
44 virtual void Print(const Option_t *option = "") const;
45
46protected:
47
48 Bool_t CheckESD(AliESDv0 *track);
49 Bool_t CheckAOD(AliAODv0 *track);
61f275d1 50
92932daf 51
8082e538 52 Int_t fHypothesis; // PDG code corresponding to expected V0 hypothesis
53 Double_t fMass; // mass corresponding to hypothesis
54 Double_t fTolerance; // tolerance in the difference between computed and expected mass
55 Double_t fMaxDCAVertex; // max allowed DCA from primary vertex
56 Double_t fMinCosPointAngle; // min allowed cosine of pointing angle
57 Double_t fMaxDaughtersDCA; // max allowed DCA between the two daughers
9d4bb6d8 58 Int_t fMinTPCcluster; // min allowed TOC cluster
3da8cef7 59 Double_t fMaxRapidity; // max allowed V0 rapidity
92932daf 60
3da8cef7 61 AliPID::EParticleType fPID; // PID for track
62 AliPID::EParticleType fPID2; // PID for track
63
65ddd3ef 64 Double_t fPIDCutProton; // nsigmas for protons
92932daf 65 Double_t fPIDCutPion; // nsigmas for pions
66
8082e538 67 AliESDtrackCuts *fESDtrackCuts; // quality cuts for v0 daughters
92932daf 68
69 AliRsnCutTrackQuality fCutQuality; // track quality cut
70
71 Int_t fAODTestFilterBit; // test filter bit for AODs
72
8082e538 73 ClassDef(AliRsnCutV0, 1)
74};
75
76//__________________________________________________________________________________________________
77inline void AliRsnCutV0::SetHypothesis(Int_t code)
78{
79//
80// Assign a V0 species hypothesis, which also assign the expected mass
81//
82
83 fHypothesis = code;
61f275d1 84
8082e538 85 switch (fHypothesis) {
86 case kLambda0:
3da8cef7 87 fMass = 1.11568;
74d60285 88 break;
8082e538 89 case kLambda0Bar:
90 fMass = 1.11568;
91 break;
92 case kK0Short:
93 fMass = 0.497614;
94 break;
95 default:
96 AliError(Form("You are setting an unexpected hypothesis: %d", fHypothesis));
97 fMass = 1E20;
98 }
99}
100
101#endif