AliPhysics  2c8507d (2c8507d)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliPicoV0Base.h
Go to the documentation of this file.
1 #ifndef ALIPICOV0BASE_H
2 #define ALIPICOV0BASE_H
3 
4 #include <TObject.h>
5 #include <TVector3.h>
6 
7 #include "AliPicoHeaderCJ.h"
8 
9 class TH2D;
10 class TLorentzVector;
11 
12 class AliPicoV0Base : public TObject {
13 
14  public :
15 
16  AliPicoV0Base();
17  AliPicoV0Base(UInt_t wMask,
18  Double_t dV0Radius,
19  Double_t dV0CosPA,
20  Double_t dV0DistToPVoverP,
21  Double_t dDausDCA,
22  Double_t dPosDCAtoPV,
23  Double_t dNegDCAtoPV,
24  Float_t dDauXrowsTPC,
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);
31  virtual ~AliPicoV0Base();
32 //=============================================================================
33 
34  TVector3 KinePos() const { return fP3Pos; }
35  TVector3 KineNeg() const { return fP3Neg; }
36  TVector3 KineRD() const { return (fP3Pos + fP3Neg); }
37 
38  TLorentzVector KineKshort();
39  TLorentzVector KineLambda();
40  TLorentzVector KineAntiLa();
41 
44 //=============================================================================
45 
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); }
49 
54 
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); }
59 
60  void FillKshortPtInvM(TH2D *h);
61  void FillLambdaPtInvM(TH2D *h);
62  void FillAntiLaPtInvM(TH2D *h);
63 //=============================================================================
64 
65  protected :
66 
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);
76 
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);
86 
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);
94 
95  Bool_t IsKaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM);
96  Bool_t IsLaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM);
97 //=============================================================================
98 
100 
104 
106 
109 
112 
113  TVector3 fP3Pos; //
114  TVector3 fP3Neg; //
115 
116  Bool_t fIsPosInJC; // match w/ jet consti
117  Bool_t fIsNegInJC; // match w/ jet consti
118 
119  static const Double_t fgkMassPion; //
120  static const Double_t fgkMassKshort; //
121  static const Double_t fgkMassLambda; //
122  static const Double_t fgkMassProton; //
123 
124  ClassDef(AliPicoV0Base, 3)
125 };
126 
127 #endif
Bool_t IsCandidateSelected(Double_t dCutMinV0Radius, Double_t dCutMinV0CosPA, Double_t dCutMaxDausDCA, Double_t dCutMinPosDCAtoPV, Double_t dCutMinNegDCAtoPV, Float_t dCutMinDauXrowsTPC, Double_t dCutMinDauXrowsOverFindableClusTPC)
Bool_t IsKaInRapAcc(Double_t dMin, Double_t dMax)
Bool_t IsKa(Double_t dCutMinV0Radius=0.5, Double_t dCutMinV0CosPA=0.97, Double_t dCutMaxV0Ctau=20., Double_t dCutMaxDausDCA=1., Double_t dCutMinPosDCAtoPV=0.06, Double_t dCutMinNegDCAtoPV=0.06, Float_t dCutMinDauXrowsTPC=70., Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, Double_t dCutMinDauDeltaM=0.005)
double Double_t
Definition: External.C:58
void FillAntiLaPtInvM(TH2D *h)
TLorentzVector KineAntiLa()
Bool_t IsDausInEtaAcc(Double_t dMin, Double_t dMax)
TLorentzVector KineKshort()
Float_t fDauXrowsTPC
TVector3 KineNeg() const
Definition: AliPicoV0Base.h:35
Double_t RapidityKa()
Bool_t IsKshort() const
Definition: AliPicoV0Base.h:46
AliPicoV0Base & operator=(const AliPicoV0Base &src)
Bool_t IsOneInJC() const
Definition: AliPicoV0Base.h:58
Bool_t IsLaInRapAcc(Double_t dMin, Double_t dMax)
static const Double_t fgkMassProton
Double_t fV0Radius
static const Double_t fgkMassLambda
TVector3 fP3Pos
static const Double_t fgkMassKshort
Double_t RapidityLa()
Bool_t IsNegInJC() const
Definition: AliPicoV0Base.h:56
unsigned int UInt_t
Definition: External.C:33
float Float_t
Definition: External.C:68
TVector3 KinePos() const
Definition: AliPicoV0Base.h:34
Double_t fDausDCA
Bool_t IsKaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM)
Double_t fNegDCAtoPV
Double_t fV0CosPA
Definition: External.C:228
TVector3 KineRD() const
Definition: AliPicoV0Base.h:36
Bool_t IsAntiLa() const
Definition: AliPicoV0Base.h:48
Bool_t IsLaSelected(Double_t dCutMaxV0Ctau, Double_t dCutMinDauDeltaM)
TVector3 fP3Neg
static const Double_t fgkMassPion
Double_t fDauXrowsOverFindableClusTPC
Bool_t IsPosInJC() const
Definition: AliPicoV0Base.h:55
Double_t fPosDCAtoPV
TLorentzVector KineLambda()
void FillLambdaPtInvM(TH2D *h)
Bool_t IsV0InEtaAcc(Double_t dMin, Double_t dMax)
Double_t fV0DistToPVoverP
Bool_t IsLa(Double_t dCutMinV0Radius=0.5, Double_t dCutMinV0CosPA=0.995, Double_t dCutMaxV0Ctau=30., Double_t dCutMaxDausDCA=1., Double_t dCutMinPosDCAtoPV=0.06, Double_t dCutMinNegDCAtoPV=0.06, Float_t dCutMinDauXrowsTPC=70., Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, Double_t dCutMinDauDeltaM=0.01)
Bool_t IsTwoInJC() const
Definition: AliPicoV0Base.h:57
void FillKshortPtInvM(TH2D *h)
bool Bool_t
Definition: External.C:53
Bool_t IsLambda() const
Definition: AliPicoV0Base.h:47
virtual ~AliPicoV0Base()