AliPhysics  5364b50 (5364b50)
AliPicoV0RD.cxx
Go to the documentation of this file.
1 #include <TMath.h>
2 #include <TLorentzVector.h>
3 
4 #include "AliPicoV0RD.h"
5 
6 ClassImp(AliPicoV0RD)
7 
8 //_____________________________________________________________________________
10 AliPicoV0(),
11 fPosPionSigmaTPC(0.),
12 fNegPionSigmaTPC(0.),
13 fPosProtonSigmaTPC(0.),
14 fNegProtonSigmaTPC(0.)
15 {
16 //
17 // AliPicoV0RD::AliPicoV0RD
18 //
19 }
20 
21 //_____________________________________________________________________________
23  Double_t dV0Radius,
24  Double_t dV0CosPA,
25  Double_t dV0DistToPVoverP,
26  Double_t dDausDCA,
27  Double_t dPosDCAtoPV,
28  Double_t dNegDCAtoPV,
29  Float_t dDauXrowsTPC,
30  Double_t dDauXrowsOverFindableClusTPC,
31  Double_t dPosPx, Double_t dPosPy, Double_t dPosPz,
32  Double_t dNegPx, Double_t dNegPy, Double_t dNegPz,
33  Bool_t bPosInJC, Bool_t bNegInJC,
34  Float_t dPosPionSigmaTPC, Float_t dPosProtonSigmaTPC,
35  Float_t dNegPionSigmaTPC, Float_t dNegProtonSigmaTPC) :
36 AliPicoV0(wMask,
37  dV0Radius,
38  dV0CosPA,
39  dV0DistToPVoverP,
40  dDausDCA,
41  dPosDCAtoPV,
42  dNegDCAtoPV,
43  dDauXrowsTPC,
44  dDauXrowsOverFindableClusTPC,
45  dPosPx, dPosPy, dPosPz,
46  dNegPx, dNegPy, dNegPz,
47  bPosInJC, bNegInJC),
48 fPosPionSigmaTPC(dPosPionSigmaTPC),
49 fNegPionSigmaTPC(dNegPionSigmaTPC),
50 fPosProtonSigmaTPC(dPosProtonSigmaTPC),
51 fNegProtonSigmaTPC(dNegProtonSigmaTPC)
52 {
53 //
54 // AliPicoV0RD::AliPicoV0RD
55 //
56 }
57 
58 //_____________________________________________________________________________
60 AliPicoV0(src),
65 {
66 //
67 // AliPicoV0RD::AliPicoV0RD
68 //
69 }
70 
71 //_____________________________________________________________________________
73 {
74 //
75 // AliPicoV0RD::operator=
76 //
77 
78  if (&src==this) return *this;
79 
81 
86 
87  return *this;
88 }
89 
90 //_____________________________________________________________________________
92 {
93 //
94 // AliPicoV0RD::~AliPicoV0RD
95 //
96 }
97 
98 //_____________________________________________________________________________
99 Bool_t AliPicoV0RD::IsKshort(Double_t const dCuts[10]) const
100 {
101 //
102 // Bool_t AliPicoV0RD::IsKshort(Double_t dCuts[10]) const
103 //
104 
105  if (!AliPicoV0::IsKshort()) return kFALSE;
106  if (!dCuts) return kTRUE;
107 //=============================================================================
108 
109  if (dCuts[9]>0.) {
110  if (!((TMath::Abs(fPosPionSigmaTPC)<dCuts[9]) &&
111  (TMath::Abs(fNegPionSigmaTPC)<dCuts[9]))) return kFALSE;
112  }
113 
114  if (!IsKa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
115 
116  return kTRUE;
117 }
118 
119 //_____________________________________________________________________________
120 Bool_t AliPicoV0RD::IsLambda(Double_t const dCuts[10]) const
121 {
122 //
123 // Bool_t AliPicoV0RD::IsLambda(Double_t dCuts[10]) const
124 //
125 
126  if (!AliPicoV0::IsLambda()) return kFALSE;
127  if (!dCuts) return kTRUE;
128 //=============================================================================
129 
130  if (dCuts[9]>0.) {
131  if (!((TMath::Abs(fPosProtonSigmaTPC)<dCuts[9]) &&
132  (TMath::Abs(fNegPionSigmaTPC) <dCuts[9]))) return kFALSE;
133  }
134 
135  if (!IsLa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
136 
137  return kTRUE;
138 }
139 
140 //_____________________________________________________________________________
141 Bool_t AliPicoV0RD::IsAntiLa(Double_t const dCuts[10]) const
142 {
143 //
144 // Bool_t AliPicoV0RD::IsAntiLa(Double_t dCuts[10]) const
145 //
146 
147  if (!AliPicoV0::IsAntiLa()) return kFALSE;
148  if (!dCuts) return kTRUE;
149 //=============================================================================
150 
151  if (dCuts[9]>0.) {
152  if (!((TMath::Abs(fPosPionSigmaTPC) <dCuts[9]) &&
153  (TMath::Abs(fNegProtonSigmaTPC)<dCuts[9]))) return kFALSE;
154  }
155 
156  if (!IsLa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
157 
158  return kTRUE;
159 }
160 
161 //_____________________________________________________________________________
163 {
164 //
165 // void AliPicoV0RD::GetControlVariables(Float_t d[20]) const
166 //
167 
168  d[ 0] = (Float_t)fV0Radius;
169  d[ 1] = (Float_t)fV0CosPA;
170  d[ 2] = (Float_t)fV0DistToPVoverP;
171  d[ 3] = (Float_t)fDausDCA;
172  d[ 4] = (Float_t)fPosDCAtoPV;
173  d[ 5] = (Float_t)fNegDCAtoPV;
174  d[ 6] = (Float_t)fDauXrowsTPC;
176  d[ 8] = (Float_t)fPosPionSigmaTPC;
177  d[ 9] = (Float_t)fNegPionSigmaTPC;
178  d[10] = (Float_t)fPosProtonSigmaTPC;
179  d[11] = (Float_t)fNegProtonSigmaTPC;
180  d[12] = (Float_t)KineRD().Pt();
181  d[13] = (Float_t)RapidityKa();
182  d[14] = (Float_t)RapidityLa();
183  d[15] = (Float_t)KineKshort().M();
184  d[16] = (Float_t)KineLambda().M();
185  d[17] = (Float_t)KineAntiLa().M();
186  d[18] = (Float_t)fP3Pos.Eta();
187  d[19] = (Float_t)fP3Neg.Eta();
188 
189  return;
190 }
virtual Bool_t IsKshort(Double_t const *=nullptr) const
Definition: AliPicoV0.h:46
const TLorentzVector KineAntiLa() const
Definition: AliPicoV0.cxx:390
Double_t fV0DistToPVoverP
Definition: AliPicoV0.h:114
AliPicoV0 & operator=(const AliPicoV0 &src)
Definition: AliPicoV0.cxx:88
double Double_t
Definition: External.C:58
Double_t fNegDCAtoPV
Definition: AliPicoV0.h:119
TVector3 fP3Pos
Definition: AliPicoV0.h:124
TVector3 fP3Neg
Definition: AliPicoV0.h:125
Double_t fDauXrowsOverFindableClusTPC
Definition: AliPicoV0.h:122
Float_t fDauXrowsTPC
Definition: AliPicoV0.h:121
const TLorentzVector KineLambda() const
Definition: AliPicoV0.cxx:377
virtual Bool_t IsAntiLa(Double_t const dCuts[10]) const
const Double_t RapidityLa() const
Definition: AliPicoV0.cxx:353
unsigned int UInt_t
Definition: External.C:33
const TVector3 KineRD() const
Definition: AliPicoV0.h:36
float Float_t
Definition: External.C:68
Double_t fPosDCAtoPV
Definition: AliPicoV0.h:118
Double_t fDausDCA
Definition: AliPicoV0.h:116
Float_t fNegProtonSigmaTPC
Definition: AliPicoV0RD.h:42
AliPicoV0RD & operator=(const AliPicoV0RD &src)
Definition: AliPicoV0RD.cxx:72
Float_t fNegPionSigmaTPC
Definition: AliPicoV0RD.h:39
virtual Bool_t IsAntiLa(Double_t const *=nullptr) const
Definition: AliPicoV0.h:54
virtual Bool_t IsKshort(Double_t const dCuts[10]) const
Definition: AliPicoV0RD.cxx:99
const Double_t RapidityKa() const
Definition: AliPicoV0.cxx:342
virtual Bool_t IsLambda(Double_t const *=nullptr) const
Definition: AliPicoV0.h:50
Double_t fV0Radius
Definition: AliPicoV0.h:112
virtual ~AliPicoV0RD()
Definition: AliPicoV0RD.cxx:91
Double_t fV0CosPA
Definition: AliPicoV0.h:113
Float_t fPosProtonSigmaTPC
Definition: AliPicoV0RD.h:41
Bool_t IsKa(const Double_t dCutMinV0Radius=0.5, const Double_t dCutMinV0CosPA=0.97, const Double_t dCutMaxV0Ctau=20., const Double_t dCutMaxDausDCA=1., const Double_t dCutMinPosDCAtoPV=0.06, const Double_t dCutMinNegDCAtoPV=0.06, const Float_t dCutMinDauXrowsTPC=70., const Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, const Double_t dCutMinDauDeltaM=0.005) const
Definition: AliPicoV0.cxx:124
Bool_t IsLa(const Double_t dCutMinV0Radius=0.5, const Double_t dCutMinV0CosPA=0.995, const Double_t dCutMaxV0Ctau=30., const Double_t dCutMaxDausDCA=1., const Double_t dCutMinPosDCAtoPV=0.06, const Double_t dCutMinNegDCAtoPV=0.06, const Float_t dCutMinDauXrowsTPC=70., const Double_t dCutMinDauXrowsOverFindableClusTPC=0.8, const Double_t dCutMinDauDeltaM=0.01) const
Definition: AliPicoV0.cxx:152
bool Bool_t
Definition: External.C:53
virtual Bool_t IsLambda(Double_t const dCuts[10]) const
virtual void GetControlVariables(Float_t d[20]) const
const TLorentzVector KineKshort() const
Definition: AliPicoV0.cxx:364
Float_t fPosPionSigmaTPC
Definition: AliPicoV0RD.h:38