1 #ifndef ALIPICOV0BASE_H
2 #define ALIPICOV0BASE_H
7 #include "AliPicoHeaderCJ.h"
12 class AliPicoV0Base : public TObject {
17 AliPicoV0Base(UInt_t wMask,
20 Double_t dV0DistToPVoverP,
25 Double_t dDauXrowsOverFindableClusTPC,
26 Double_t dPosPx, Double_t dPosPy, Double_t dPosPz,
27 Double_t dNegPx, Double_t dNegPy, Double_t dNegPz,
28 Bool_t bPosInJC, Bool_t bNegInJC);
29 AliPicoV0Base(const AliPicoV0Base &src);
30 AliPicoV0Base& operator=(const AliPicoV0Base &src);
31 virtual ~AliPicoV0Base();
32 //=============================================================================
34 TVector3 KinePos() const { return fP3Pos; }
35 TVector3 KineNeg() const { return fP3Neg; }
36 TVector3 KineRD() const { return (fP3Pos + fP3Neg); }
38 TLorentzVector KineKshort();
39 TLorentzVector KineLambda();
40 TLorentzVector KineAntiLa();
42 Double_t RapidityKa();
43 Double_t RapidityLa();
44 //=============================================================================
46 Bool_t IsKshort() const { return ((fMask & AliPicoHeaderCJ::kKshort) == AliPicoHeaderCJ::kKshort); }
47 Bool_t IsLambda() const { return ((fMask & AliPicoHeaderCJ::kLambda) == AliPicoHeaderCJ::kLambda); }
48 Bool_t IsAntiLa() const { return ((fMask & AliPicoHeaderCJ::kAntiLambda) == AliPicoHeaderCJ::kAntiLambda); }
50 Bool_t IsKaInRapAcc(Double_t dMin, Double_t dMax);
51 Bool_t IsLaInRapAcc(Double_t dMin, Double_t dMax);
52 Bool_t IsV0InEtaAcc(Double_t dMin, Double_t dMax);
53 Bool_t IsDausInEtaAcc(Double_t dMin, Double_t dMax);
55 Bool_t IsPosInJC() const { return fIsPosInJC; }
56 Bool_t IsNegInJC() const { return fIsNegInJC; }
57 Bool_t IsTwoInJC() const { return (fIsPosInJC && fIsNegInJC); }
58 Bool_t IsOneInJC() const { return (fIsPosInJC || fIsNegInJC); }
60 void FillKshortPtInvM(TH2D *h);
61 void FillLambdaPtInvM(TH2D *h);
62 void FillAntiLaPtInvM(TH2D *h);
63 //=============================================================================
67 Bool_t IsKa(Double_t dCutMinV0Radius = 0.5,
68 Double_t dCutMinV0CosPA = 0.97,
69 Double_t dCutMaxV0Ctau = 20.,
70 Double_t dCutMaxDausDCA = 1.,
71 Double_t dCutMinPosDCAtoPV = 0.06,
72 Double_t dCutMinNegDCAtoPV = 0.06,
73 Float_t dCutMinDauXrowsTPC = 70.,
74 Double_t dCutMinDauXrowsOverFindableClusTPC = 0.8,
75 Double_t dCutMinDauDeltaM = 0.005);
77 Bool_t IsLa(Double_t dCutMinV0Radius = 0.5,
78 Double_t dCutMinV0CosPA = 0.995,
79 Double_t dCutMaxV0Ctau = 30.,
80 Double_t dCutMaxDausDCA = 1.,
81 Double_t dCutMinPosDCAtoPV = 0.06,
82 Double_t dCutMinNegDCAtoPV = 0.06,
83 Float_t dCutMinDauXrowsTPC = 70.,
84 Double_t dCutMinDauXrowsOverFindableClusTPC = 0.8,
85 Double_t dCutMinDauDeltaM = 0.01);
87 Bool_t IsCandidateSelected(Double_t dCutMinV0Radius,
88 Double_t dCutMinV0CosPA,
89 Double_t dCutMaxDausDCA,
90 Double_t dCutMinPosDCAtoPV,
91 Double_t dCutMinNegDCAtoPV,
92 Float_t dCutMinDauXrowsTPC,
93 Double_t dCutMinDauXrowsOverFindableClusTPC);
95 Bool_t IsKaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM);
96 Bool_t IsLaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM);
97 //=============================================================================
101 Double_t fV0Radius; //
102 Double_t fV0CosPA; //
103 Double_t fV0DistToPVoverP; //
105 Double_t fDausDCA; //
107 Double_t fPosDCAtoPV; //
108 Double_t fNegDCAtoPV; //
110 Float_t fDauXrowsTPC; //
111 Double_t fDauXrowsOverFindableClusTPC; //
116 Bool_t fIsPosInJC; // match w/ jet consti
117 Bool_t fIsNegInJC; // match w/ jet consti
119 static const Double_t fgkMassPion; //
120 static const Double_t fgkMassKshort; //
121 static const Double_t fgkMassLambda; //
122 static const Double_t fgkMassProton; //
124 ClassDef(AliPicoV0Base, 3)