26 #include "TParticle.h"
27 #include "TParticlePDG.h"
83 TParticlePDG* ppdg = p->GetPDG();
84 fCharge = TMath::Nint(ppdg->Charge()/3.0);
96 TParticlePDG* ppdg = p->GetPDG();
97 fCharge = TMath::Nint(ppdg->Charge()/3.0);
108 fTrackWeight(aTrack.fTrackWeight),
109 fCharge(aTrack.fCharge),
111 fPOItype(aTrack.fPOItype),
112 fSubEventBits(aTrack.fSubEventBits),
114 fITStype(aTrack.fITStype)
130 if (&aTrack==
this)
return *
this;
163 Int_t maxNumberOfIterations )
171 for (
Int_t i=0; i<maxNumberOfIterations; i++)
174 f =
fPhi-phi0+2.0*v1*TMath::Sin(
fPhi-reactionPlaneAngle);
175 fp = 1.0+2.0*v1*TMath::Cos(
fPhi-reactionPlaneAngle);
177 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
185 Int_t maxNumberOfIterations )
193 for (
Int_t i=0; i<maxNumberOfIterations; i++)
196 f =
fPhi-phi0+v2*TMath::Sin(2.*(
fPhi-reactionPlaneAngle));
197 fp = 1.0+2.0*v2*TMath::Cos(2.*(
fPhi-reactionPlaneAngle));
199 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
207 Int_t maxNumberOfIterations )
215 for (
Int_t i=0; i<maxNumberOfIterations; i++)
218 f =
fPhi-phi0+2./3.*v3*TMath::Sin(3.*(
fPhi-reactionPlaneAngle));
219 fp = 1.0+2.0*v3*TMath::Cos(3.*(
fPhi-reactionPlaneAngle));
221 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
229 Int_t maxNumberOfIterations )
237 for (
Int_t i=0; i<maxNumberOfIterations; i++)
240 f =
fPhi-phi0+0.5*v4*TMath::Sin(4.*(
fPhi-reactionPlaneAngle));
241 fp = 1.0+2.0*v4*TMath::Cos(4.*(
fPhi-reactionPlaneAngle));
243 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
251 Int_t maxNumberOfIterations )
259 for (
Int_t i=0; i<maxNumberOfIterations; i++)
262 f =
fPhi-phi0+0.4*v5*TMath::Sin(5.*(
fPhi-reactionPlaneAngle));
263 fp = 1.0+2.0*v5*TMath::Cos(5.*(
fPhi-reactionPlaneAngle));
265 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
281 Int_t maxNumberOfIterations )
289 for (
Int_t i=0; i<maxNumberOfIterations; i++)
293 +2.0* v1*TMath::Sin(
fPhi-rp1)
294 + v2*TMath::Sin(2.*(
fPhi-rp2))
295 +2./3.*v3*TMath::Sin(3.*(
fPhi-rp3))
296 +0.5* v4*TMath::Sin(4.*(
fPhi-rp4))
297 +0.4* v5*TMath::Sin(5.*(
fPhi-rp5))
301 +v1*TMath::Cos(
fPhi-rp1)
302 +v2*TMath::Cos(2.*(
fPhi-rp2))
303 +v3*TMath::Cos(3.*(
fPhi-rp3))
304 +v4*TMath::Cos(4.*(
fPhi-rp4))
305 +v5*TMath::Cos(5.*(
fPhi-rp5))
308 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
320 Int_t maxNumberOfIterations )
323 AddFlow(v1,v2,v3,v4,v5,rp,rp,rp,rp,rp,precisionPhi,maxNumberOfIterations);
333 Int_t maxNumberOfIterations )
341 for (
Int_t i=0; i<maxNumberOfIterations; i++)
345 +2.0* v1*TMath::Sin(
fPhi-reactionPlaneAngle)
346 + v2*TMath::Sin(2.*(
fPhi-reactionPlaneAngle))
347 +2./3.*v3*TMath::Sin(3.*(
fPhi-reactionPlaneAngle))
348 +0.5* v4*TMath::Sin(4.*(
fPhi-reactionPlaneAngle))
352 +v1*TMath::Cos(
fPhi-reactionPlaneAngle)
353 +v2*TMath::Cos(2.*(
fPhi-reactionPlaneAngle))
354 +v3*TMath::Cos(3.*(
fPhi-reactionPlaneAngle))
355 +v4*TMath::Cos(4.*(
fPhi-reactionPlaneAngle))
358 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
369 for (
Int_t i=0; i<2; i++)
virtual void Print(Option_t *option="") const
void AddV1(Double_t v1, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
Bool_t InSubevent(Int_t i) const
void AddV5(Double_t v5, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
virtual AliFlowTrackSimple * Clone(const char *option="") const
Bool_t InRPSelection() const
void AddV4(Double_t v4, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
AliFlowTrackSimple & operator=(const AliFlowTrackSimple &aTrack)
void ResolutionPt(Double_t resolution)
void AddV2(Double_t v2, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
void AddFlow(Double_t v1, Double_t v2, Double_t v3, Double_t v4, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
void AddV3(Double_t v3, Double_t reactionPlaneAngle, Double_t precision, Int_t maxNumberOfIterations=100)
Bool_t InPOISelection(Int_t poiType=1) const
virtual ~AliFlowTrackSimple()
virtual void Clear(Option_t *o="")