26 #include "TParticle.h"
27 #include "TParticlePDG.h"
80 TParticlePDG* ppdg = p->GetPDG();
81 fCharge = TMath::Nint(ppdg->Charge()/3.0);
93 TParticlePDG* ppdg = p->GetPDG();
94 fCharge = TMath::Nint(ppdg->Charge()/3.0);
104 fTrackWeight(aTrack.fTrackWeight),
105 fCharge(aTrack.fCharge),
107 fPOItype(aTrack.fPOItype),
108 fSubEventBits(aTrack.fSubEventBits),
125 if (&aTrack==
this)
return *
this;
157 Int_t maxNumberOfIterations )
165 for (
Int_t i=0; i<maxNumberOfIterations; i++)
168 f =
fPhi-phi0+2.0*v1*TMath::Sin(
fPhi-reactionPlaneAngle);
169 fp = 1.0+2.0*v1*TMath::Cos(
fPhi-reactionPlaneAngle);
171 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
179 Int_t maxNumberOfIterations )
187 for (
Int_t i=0; i<maxNumberOfIterations; i++)
190 f =
fPhi-phi0+v2*TMath::Sin(2.*(
fPhi-reactionPlaneAngle));
191 fp = 1.0+2.0*v2*TMath::Cos(2.*(
fPhi-reactionPlaneAngle));
193 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
201 Int_t maxNumberOfIterations )
209 for (
Int_t i=0; i<maxNumberOfIterations; i++)
212 f =
fPhi-phi0+2./3.*v3*TMath::Sin(3.*(
fPhi-reactionPlaneAngle));
213 fp = 1.0+2.0*v3*TMath::Cos(3.*(
fPhi-reactionPlaneAngle));
215 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
223 Int_t maxNumberOfIterations )
231 for (
Int_t i=0; i<maxNumberOfIterations; i++)
234 f =
fPhi-phi0+0.5*v4*TMath::Sin(4.*(
fPhi-reactionPlaneAngle));
235 fp = 1.0+2.0*v4*TMath::Cos(4.*(
fPhi-reactionPlaneAngle));
237 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
245 Int_t maxNumberOfIterations )
253 for (
Int_t i=0; i<maxNumberOfIterations; i++)
256 f =
fPhi-phi0+0.4*v5*TMath::Sin(5.*(
fPhi-reactionPlaneAngle));
257 fp = 1.0+2.0*v5*TMath::Cos(5.*(
fPhi-reactionPlaneAngle));
259 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
275 Int_t maxNumberOfIterations )
283 for (
Int_t i=0; i<maxNumberOfIterations; i++)
287 +2.0* v1*TMath::Sin(
fPhi-rp1)
288 + v2*TMath::Sin(2.*(
fPhi-rp2))
289 +2./3.*v3*TMath::Sin(3.*(
fPhi-rp3))
290 +0.5* v4*TMath::Sin(4.*(
fPhi-rp4))
291 +0.4* v5*TMath::Sin(5.*(
fPhi-rp5))
295 +v1*TMath::Cos(
fPhi-rp1)
296 +v2*TMath::Cos(2.*(
fPhi-rp2))
297 +v3*TMath::Cos(3.*(
fPhi-rp3))
298 +v4*TMath::Cos(4.*(
fPhi-rp4))
299 +v5*TMath::Cos(5.*(
fPhi-rp5))
302 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
314 Int_t maxNumberOfIterations )
317 AddFlow(v1,v2,v3,v4,v5,rp,rp,rp,rp,rp,precisionPhi,maxNumberOfIterations);
327 Int_t maxNumberOfIterations )
335 for (
Int_t i=0; i<maxNumberOfIterations; i++)
339 +2.0* v1*TMath::Sin(
fPhi-reactionPlaneAngle)
340 + v2*TMath::Sin(2.*(
fPhi-reactionPlaneAngle))
341 +2./3.*v3*TMath::Sin(3.*(
fPhi-reactionPlaneAngle))
342 +0.5* v4*TMath::Sin(4.*(
fPhi-reactionPlaneAngle))
346 +v1*TMath::Cos(
fPhi-reactionPlaneAngle)
347 +v2*TMath::Cos(2.*(
fPhi-reactionPlaneAngle))
348 +v3*TMath::Cos(3.*(
fPhi-reactionPlaneAngle))
349 +v4*TMath::Cos(4.*(
fPhi-reactionPlaneAngle))
352 if (TMath::AreEqualAbs(phiprev,
fPhi,precisionPhi))
break;
363 for (
Int_t i=0; i<2; i++)
virtual void Print(Option_t *option="") const
ClassImp(AliFlowTrackSimple) AliFlowTrackSimple
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="")