AliPhysics  d497afb (d497afb)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliPicoV0MC.cxx
Go to the documentation of this file.
1 #include "AliPicoV0MC.h"
2 
3 ClassImp(AliPicoV0MC)
4 
5 //_____________________________________________________________________________
7 AliPicoV0(),
8 fV0PDG(0),
9 fV0Status(0),
10 fV0Kine(),
11 fMotherPDG(0),
12 fMotherStatus(0),
13 fMotherPt(0.),
14 fMotherEta(0.),
15 fMotherRap(0.)
16 {
17 //
18 // AliPicoV0MC::AliPicoV0MC
19 //
20 }
21 
22 //_____________________________________________________________________________
24  Double_t dV0Radius,
25  Double_t dV0CosPA,
26  Double_t dV0DistToPVoverP,
27  Double_t dDausDCA,
28  Double_t dPosDCAtoPV,
29  Double_t dNegDCAtoPV,
30  Float_t dDauXrowsTPC,
31  Double_t dDauXrowsOverFindableClusTPC,
32  Double_t dPosPx, Double_t dPosPy, Double_t dPosPz,
33  Double_t dNegPx, Double_t dNegPy, Double_t dNegPz,
34  Bool_t bPosInJC, Bool_t bNegInJC,
35  Int_t idV, UInt_t wsV, Double_t dV0Px, Double_t dV0Py, Double_t dV0Pz, Double_t dV0E,
36  Int_t idM, UInt_t wsM, Double_t dPtM, Double_t dEtaM, Double_t dRapM) :
37 AliPicoV0(wMask,
38  dV0Radius,
39  dV0CosPA,
40  dV0DistToPVoverP,
41  dDausDCA,
42  dPosDCAtoPV,
43  dNegDCAtoPV,
44  dDauXrowsTPC,
45  dDauXrowsOverFindableClusTPC,
46  dPosPx, dPosPy, dPosPz,
47  dNegPx, dNegPy, dNegPz,
48  bPosInJC, bNegInJC),
49 fV0PDG(idV),
50 fV0Status(wsV),
51 fV0Kine(dV0Px, dV0Py, dV0Pz, dV0E),
52 fMotherPDG(idM),
53 fMotherStatus(wsM),
54 fMotherPt(dPtM),
55 fMotherEta(dEtaM),
56 fMotherRap(dRapM)
57 {
58 //
59 // AliPicoV0MC::AliPicoV0MC
60 //
61 }
62 
63 //_____________________________________________________________________________
65 AliPicoV0(src),
66 fV0PDG(src.fV0PDG),
67 fV0Status(src.fV0Status),
68 fV0Kine(src.fV0Kine),
69 fMotherPDG(src.fMotherPDG),
70 fMotherStatus(src.fMotherStatus),
71 fMotherPt(src.fMotherPt),
72 fMotherEta(src.fMotherEta),
73 fMotherRap(src.fMotherRap)
74 {
75 //
76 // AliPicoV0MC::AliPicoV0MC
77 //
78 }
79 
80 //_____________________________________________________________________________
82 {
83 //
84 // AliPicoV0RD::operator=
85 //
86 
87  if (&src==this) return *this;
88 
90 
91  fV0PDG = src.fV0PDG;
92  fV0Status = src.fV0Status;
93  fV0Kine = src.fV0Kine;
94 
95  fMotherPDG = src.fMotherPDG;
97  fMotherPt = src.fMotherPt;
98  fMotherEta = src.fMotherEta;
99  fMotherRap = src.fMotherRap;
100 
101  return *this;
102 }
103 
104 //_____________________________________________________________________________
106 {
107 //
108 // AliPicoV0MC::~AliPicoV0MC
109 //
110 }
111 
112 //_____________________________________________________________________________
113 Bool_t AliPicoV0MC::IsKshort(Double_t const dCuts[9]) const
114 {
115 //
116 // Bool_t AliPicoV0MC::IsKshort(Double_t dCuts[9]) const
117 //
118 
119  if (!IsKshortMC()) return kFALSE;
120  if (!AliPicoV0::IsKshort()) return kFALSE;
121  if (!dCuts) return kTRUE;
122 //=============================================================================
123 
124  if (!IsKa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
125 
126  return kTRUE;
127 }
128 
129 //_____________________________________________________________________________
130 Bool_t AliPicoV0MC::IsLambda(Double_t const dCuts[9]) const
131 {
132 //
133 // Bool_t AliPicoV0MC::IsLambda(Double_t dCuts[9]) const
134 //
135 
136  if (!IsLambdaMC()) return kFALSE;
137  if (!AliPicoV0::IsLambda()) return kFALSE;
138  if (!dCuts) return kTRUE;
139 //=============================================================================
140 
141  if (!IsLa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
142 
143  return kTRUE;
144 }
145 
146 //_____________________________________________________________________________
147 Bool_t AliPicoV0MC::IsAntiLa(Double_t const dCuts[9]) const
148 {
149 //
150 // Bool_t AliPicoV0MC::IsAntiLa(Double_t dCuts[9]) const
151 //
152 
153  if (!IsAntiLaMC()) return kFALSE;
154  if (!AliPicoV0::IsAntiLa()) return kFALSE;
155  if (!dCuts) return kTRUE;
156 //=============================================================================
157 
158  if (!IsLa(dCuts[0],dCuts[1],dCuts[2],dCuts[3],dCuts[4],dCuts[5],dCuts[6],dCuts[7],dCuts[8])) return kFALSE;
159 
160  return kTRUE;
161 }
162 
163 //_____________________________________________________________________________
165 {
166 //
167 // AliPicoV0MC::IsV0InRapAcc
168 //
169 
170  Double_t dRap = fV0Kine.Rapidity();
171  return ((dRap>=dMin) && (dRap<dMax));
172 }
173 
174 //_____________________________________________________________________________
176 {
177 //
178 // AliPicoV0MC::GetControlVariables
179 //
180 
181  d[ 0] = (Float_t)fV0Radius;
182  d[ 1] = (Float_t)fV0CosPA;
183  d[ 2] = (Float_t)fV0DistToPVoverP;
184  d[ 3] = (Float_t)fDausDCA;
185  d[ 4] = (Float_t)fPosDCAtoPV;
186  d[ 5] = (Float_t)fNegDCAtoPV;
187  d[ 6] = (Float_t)fDauXrowsTPC;
189  d[ 8] = (Float_t)KineRD().Pt();
190  d[ 9] = (Float_t)RapidityKa();
191  d[10] = (Float_t)RapidityLa();
192  d[11] = (Float_t)KineMC().Pt();
193  d[12] = (Float_t)KineMC().Rapidity();
194  d[13] = (Float_t)KineKshort().M();
195  d[14] = (Float_t)KineLambda().M();
196  d[15] = (Float_t)KineAntiLa().M();
197  d[16] = (Float_t)fP3Pos.Eta();
198  d[17] = (Float_t)fP3Neg.Eta();
199 
200  return;
201 }
virtual Bool_t IsKshort(Double_t const *=nullptr) const
Definition: AliPicoV0.h:46
TLorentzVector KineMC() const
Definition: AliPicoV0MC.h:40
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
TLorentzVector fV0Kine
Definition: AliPicoV0MC.h:98
Double_t fNegDCAtoPV
Definition: AliPicoV0.h:119
UInt_t fV0Status
Definition: AliPicoV0MC.h:97
virtual Bool_t IsLambda(Double_t const dCuts[9]) const
TVector3 fP3Pos
Definition: AliPicoV0.h:124
AliPicoV0MC & operator=(const AliPicoV0MC &src)
Definition: AliPicoV0MC.cxx:81
UInt_t fMotherStatus
Definition: AliPicoV0MC.h:101
TVector3 fP3Neg
Definition: AliPicoV0.h:125
Double_t fDauXrowsOverFindableClusTPC
Definition: AliPicoV0.h:122
Float_t fDauXrowsTPC
Definition: AliPicoV0.h:121
Double_t fMotherEta
Definition: AliPicoV0MC.h:104
Bool_t IsAntiLaMC() const
Definition: AliPicoV0MC.h:51
virtual void GetControlVariables(Float_t d[18]) const
const TLorentzVector KineLambda() const
Definition: AliPicoV0.cxx:377
Double_t fMotherPt
Definition: AliPicoV0MC.h:103
const Double_t RapidityLa() const
Definition: AliPicoV0.cxx:353
virtual Bool_t IsAntiLa(Double_t const dCuts[9]) const
int Int_t
Definition: External.C:63
unsigned int UInt_t
Definition: External.C:33
Int_t fV0PDG
Definition: AliPicoV0MC.h:96
const TVector3 KineRD() const
Definition: AliPicoV0.h:36
float Float_t
Definition: External.C:68
Double_t fPosDCAtoPV
Definition: AliPicoV0.h:118
Bool_t IsV0InRapAcc(Double_t dMin, Double_t dMax)
Double_t fDausDCA
Definition: AliPicoV0.h:116
Int_t fMotherPDG
Definition: AliPicoV0MC.h:100
Bool_t IsLambdaMC() const
Definition: AliPicoV0MC.h:50
virtual Bool_t IsAntiLa(Double_t const *=nullptr) const
Definition: AliPicoV0.h:54
const Double_t RapidityKa() const
Definition: AliPicoV0.cxx:342
virtual Bool_t IsKshort(Double_t const dCuts[9]) const
virtual Bool_t IsLambda(Double_t const *=nullptr) const
Definition: AliPicoV0.h:50
Double_t fV0Radius
Definition: AliPicoV0.h:112
Double_t fV0CosPA
Definition: AliPicoV0.h:113
virtual ~AliPicoV0MC()
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
Bool_t IsKshortMC() const
Definition: AliPicoV0MC.h:49
const TLorentzVector KineKshort() const
Definition: AliPicoV0.cxx:364
Double_t fMotherRap
Definition: AliPicoV0MC.h:105