]>
Commit | Line | Data |
---|---|---|
b254f323 | 1 | #ifndef ALIPICOV0MC_H |
2 | #define ALIPICOV0MC_H | |
3 | ||
4 | #include <TLorentzVector.h> | |
5 | ||
6 | #include "AliPicoV0Base.h" | |
7 | ||
8 | ||
9 | class AliPicoV0MC : public AliPicoV0Base { | |
10 | ||
11 | public : | |
12 | ||
13 | AliPicoV0MC(); | |
14 | AliPicoV0MC(UInt_t wMask, | |
15 | Double_t dV0Radius, | |
16 | Double_t dV0CosPA, | |
17 | Double_t dV0DistToPVoverP, | |
18 | Double_t dDausDCA, | |
19 | Double_t dPosDCAtoPV, | |
20 | Double_t dNegDCAtoPV, | |
21 | Float_t dDauXrowsTPC, | |
22 | Double_t dDauXrowsOverFindableClusTPC, | |
23 | Double_t dPosPx, Double_t dPosPy, Double_t dPosPz, | |
24 | Double_t dNegPx, Double_t dNegPy, Double_t dNegPz, | |
25 | Bool_t bPosInJC, Bool_t bNegInJC, | |
26 | Int_t idV, UInt_t wsV, Double_t dV0Px, Double_t dV0Py, Double_t dV0Pz, Double_t dV0E, | |
27 | Int_t idM=0, UInt_t wsM=0, Double_t dPtM=0., Double_t dEtaM=0., Double_t dRapM=0.); | |
28 | AliPicoV0MC(const AliPicoV0MC &src); | |
29 | AliPicoV0MC& operator=(const AliPicoV0MC &src); | |
30 | virtual ~AliPicoV0MC(); | |
31 | //============================================================================= | |
32 | ||
33 | TLorentzVector KineMC() const { return fV0Kine; } | |
34 | ||
35 | Double_t MotherPt() const { return fMotherPt; } | |
36 | Double_t MotherEta() const { return fMotherEta; } | |
37 | Double_t MotherRap() const { return fMotherRap; } | |
38 | //============================================================================= | |
39 | ||
40 | Bool_t IsKshort(Double_t dCuts[9]); | |
41 | Bool_t IsLambda(Double_t dCuts[9]); | |
42 | Bool_t IsAntiLa(Double_t dCuts[9]); | |
43 | Bool_t IsV0InRapAcc(Double_t dMin, Double_t dMax); | |
44 | ||
45 | Bool_t IsKshort() const { return (fV0PDG== 310); } | |
46 | Bool_t IsLambda() const { return (fV0PDG== 3122); } | |
47 | Bool_t IsAntiLa() const { return (fV0PDG==-3122); } | |
48 | ||
49 | Bool_t IsMotherXiNeg() const { return (fMotherPDG== 3312); } | |
50 | Bool_t IsMotherXiPos() const { return (fMotherPDG==-3312); } | |
51 | ||
52 | Bool_t IsLambdaFd() const { return (AliPicoV0Base::IsLambda() && IsMotherXiNeg()); } | |
53 | Bool_t IsAntiLaFd() const { return (AliPicoV0Base::IsAntiLa() && IsMotherXiPos()); } | |
54 | ||
55 | void GetControlVariables(Float_t d[18]); | |
56 | //============================================================================= | |
57 | ||
58 | Bool_t IsV0Primary() const { | |
59 | return ((fV0Status & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary); | |
60 | } | |
61 | ||
62 | Bool_t IsV0PhysicalPrimary() const { | |
63 | return ((fV0Status & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary); | |
64 | } | |
65 | ||
66 | Bool_t IsV0SecondaryFromWeakDecay() const { | |
67 | return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay); | |
68 | } | |
69 | ||
70 | Bool_t IsV0SecondaryFromMaterial() const { | |
71 | return ((fV0Status & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial); | |
72 | } | |
73 | //============================================================================= | |
74 | ||
75 | Bool_t IsMotherPrimary() const { | |
76 | return ((fMotherStatus & AliPicoHeaderCJ::kPrimary) == AliPicoHeaderCJ::kPrimary); | |
77 | } | |
78 | ||
79 | Bool_t IsMotherPhysicalPrimary() const { | |
80 | return ((fMotherStatus & AliPicoHeaderCJ::kPhysicalPrimary) == AliPicoHeaderCJ::kPhysicalPrimary); | |
81 | } | |
82 | ||
83 | Bool_t IsMotherSecondaryFromWeakDecay() const { | |
84 | return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromWeakDecay) == AliPicoHeaderCJ::kSecondaryFromWeakDecay); | |
85 | } | |
86 | ||
87 | Bool_t IsMotherSecondaryFromMaterial() const { | |
88 | return ((fMotherStatus & AliPicoHeaderCJ::kSecondaryFromMaterial) == AliPicoHeaderCJ::kSecondaryFromMaterial); | |
89 | } | |
90 | //============================================================================= | |
91 | ||
92 | private : | |
93 | ||
94 | Int_t fV0PDG; // | |
95 | UInt_t fV0Status; // | |
96 | TLorentzVector fV0Kine; // | |
97 | ||
98 | Int_t fMotherPDG; // | |
99 | UInt_t fMotherStatus; // | |
100 | ||
101 | Double_t fMotherPt; // | |
102 | Double_t fMotherEta; // | |
103 | Double_t fMotherRap; // | |
104 | ||
105 | ClassDef(AliPicoV0MC, 4); | |
106 | }; | |
107 | ||
108 | #endif |