]>
Commit | Line | Data |
---|---|---|
8082e538 | 1 | #ifndef ALIRSNCUTV0_H |
2 | #define ALIRSNCUTV0_H | |
3 | ||
4 | #include <TMath.h> | |
5 | #include <TString.h> | |
6 | ||
7 | #include "AliRsnCut.h" | |
8 | ||
9 | class AliESDtrack; | |
10 | class AliAODTrack; | |
11 | ||
12 | class AliRsnCutV0 : public AliRsnCut { | |
13 | ||
14 | public: | |
15 | ||
16 | AliRsnCutV0(const char *name = "AliRsnCutV0", Int_t hypothesis = kLambda0); | |
61f275d1 | 17 | AliRsnCutV0(const AliRsnCutV0 ©); |
18 | AliRsnCutV0 &operator=(const AliRsnCutV0 ©); | |
8082e538 | 19 | virtual ~AliRsnCutV0() { } |
61f275d1 | 20 | |
8082e538 | 21 | void SetESDtrackCuts(AliESDtrackCuts *cuts) {fESDtrackCuts = cuts;} |
22 | void SetHypothesis(Int_t code); | |
23 | void SetTolerance(Double_t value) {fTolerance = value;} | |
24 | void SetMaxDCAVertex(Double_t value) {fMaxDCAVertex = value;} | |
25 | void SetMinCosPointingAngle(Double_t value) {fMinCosPointAngle = value;} | |
26 | void SetMaxDaughtersDCA(Double_t value) {fMaxDaughtersDCA = value;} | |
27 | ||
28 | virtual Bool_t IsSelected(TObject *obj); | |
29 | virtual void Print(const Option_t *option = "") const; | |
30 | ||
31 | protected: | |
32 | ||
33 | Bool_t CheckESD(AliESDv0 *track); | |
34 | Bool_t CheckAOD(AliAODv0 *track); | |
61f275d1 | 35 | |
8082e538 | 36 | Int_t fHypothesis; // PDG code corresponding to expected V0 hypothesis |
37 | Double_t fMass; // mass corresponding to hypothesis | |
38 | Double_t fTolerance; // tolerance in the difference between computed and expected mass | |
39 | Double_t fMaxDCAVertex; // max allowed DCA from primary vertex | |
40 | Double_t fMinCosPointAngle; // min allowed cosine of pointing angle | |
41 | Double_t fMaxDaughtersDCA; // max allowed DCA between the two daughers | |
42 | //AliPID::EParticleType fRefPID[2]; | |
43 | //Double_t fNSigmaTPC[2]; | |
44 | //Double_t fNSigmaTOF[3]; | |
45 | ||
46 | AliESDtrackCuts *fESDtrackCuts; // quality cuts for v0 daughters | |
47 | ||
48 | ClassDef(AliRsnCutV0, 1) | |
49 | }; | |
50 | ||
51 | //__________________________________________________________________________________________________ | |
52 | inline void AliRsnCutV0::SetHypothesis(Int_t code) | |
53 | { | |
54 | // | |
55 | // Assign a V0 species hypothesis, which also assign the expected mass | |
56 | // | |
57 | ||
58 | fHypothesis = code; | |
61f275d1 | 59 | |
8082e538 | 60 | switch (fHypothesis) { |
61 | case kLambda0: | |
62 | case kLambda0Bar: | |
63 | fMass = 1.11568; | |
64 | break; | |
65 | case kK0Short: | |
66 | fMass = 0.497614; | |
67 | break; | |
68 | default: | |
69 | AliError(Form("You are setting an unexpected hypothesis: %d", fHypothesis)); | |
70 | fMass = 1E20; | |
71 | } | |
72 | } | |
73 | ||
74 | #endif |