fPtSpectra(NULL),
fPhiDistribution(NULL),
fMyTRandom3(NULL),
- fCount(0)
+ fCount(0),
+ fNoOfLoops(1)
{
// constructor
fMyTRandom3 = new TRandom3(iseed);
Int_t iGoodTracks = 0;
Int_t iSelParticlesRP = 0;
Int_t iSelParticlesPOI = 0;
+ Double_t fTmpPt =0;
+ Double_t fTmpEta =0;
+ Double_t fTmpPhi =0;
for(Int_t i=0;i<fNewMultiplicityOfRP;i++) {
- AliFlowTrackSimple* pTrack = new AliFlowTrackSimple();
- pTrack->SetPt(fPtSpectra->GetRandom());
- pTrack->SetEta(fMyTRandom3->Uniform(dEtaMin,dEtaMax));
- pTrack->SetPhi(fPhiDistribution->GetRandom()+fMCReactionPlaneAngle);
- pTrack->SetForRPSelection(kTRUE);
- iSelParticlesRP++;
- pTrack->SetForPOISelection(kTRUE);
- iSelParticlesPOI++;
-
- pEvent->TrackCollection()->Add(pTrack);
- iGoodTracks++;
+ fTmpPt = fPtSpectra->GetRandom();
+ fTmpEta = fMyTRandom3->Uniform(dEtaMin,dEtaMax);
+ fTmpPhi = fPhiDistribution->GetRandom()+fMCReactionPlaneAngle;
+ for(Int_t d=0;d<fNoOfLoops;d++) {
+ AliFlowTrackSimple* pTrack = new AliFlowTrackSimple();
+ pTrack->SetPt(fTmpPt);
+ pTrack->SetEta(fTmpEta);
+ pTrack->SetPhi(fTmpPhi);
+ pTrack->SetForRPSelection(kTRUE);
+ iSelParticlesRP++;
+ pTrack->SetForPOISelection(kTRUE);
+ iSelParticlesPOI++;
+ pEvent->TrackCollection()->Add(pTrack);
+ iGoodTracks++;
+ }
}
pEvent->SetEventNSelTracksRP(iSelParticlesRP);
Double_t GetV2SpreadRP() const {return this->fV2SpreadRP;}
//................................................................................................
+ void SetNoOfLoops(Int_t noofl) {this->fNoOfLoops = noofl;}
+ Int_t GetNoOfLoops() const {return this->fNoOfLoops;}
+
private:
AliFlowEventSimpleMakerOnTheFly(const AliFlowEventSimpleMakerOnTheFly& anAnalysis); // copy constructor
//................................................................................................
// global parameters:
- Int_t fMultiplicityOfRP; // multiplicity of RPs
- Double_t fMultiplicitySpreadOfRP; // multiplicity spread of RPs
- Double_t fV1RP; // directed flow of RPs
- Double_t fV1SpreadRP; // directed flow spread of RPs
- Double_t fV2RP; // elliptic flow of RPs
- Double_t fV2SpreadRP; // elliptic flow spread of RPs
+ Int_t fMultiplicityOfRP; // multiplicity of RPs
+ Double_t fMultiplicitySpreadOfRP; // multiplicity spread of RPs
+ Double_t fV1RP; // directed flow of RPs
+ Double_t fV1SpreadRP; // directed flow spread of RPs
+ Double_t fV2RP; // elliptic flow of RPs
+ Double_t fV2SpreadRP; // elliptic flow spread of RPs
//................................................................................................
//................................................................................................
// equations for distributions:
- TF1 *fPtSpectra; // transverse momentum distribution
- TF1 *fPhiDistribution; // azimuthal distribution
+ TF1* fPtSpectra; // transverse momentum distribution
+ TF1* fPhiDistribution; // azimuthal distribution
//................................................................................................
TRandom3* fMyTRandom3; // our random generator
- Int_t fCount;
+ Int_t fCount;
+ Int_t fNoOfLoops; // number of times to use the same particle (nonflow)
+
ClassDef(AliFlowEventSimpleMakerOnTheFly,0) // macro for rootcint
};
Bool_t LYZEP = kFALSE;
Bool_t GFC = kTRUE;
Bool_t QC = kTRUE;
-Bool_t FQD = kFALSE;
+Bool_t FQD = kTRUE;
Bool_t MCEP = kTRUE;
//--------------------------------------------------------------------------------------
//......................................................................................
// Set the event parameters:
+Int_t iLoops = 1; // number of times to use each track (to simulate nonflow)
Int_t iMultiplicityOfRP = 500; // multiplicity of RPs
-Double_t dMultiplicitySpreadOfRP = 100; // multiplicity spread of RPs
+Double_t dMultiplicitySpreadOfRP = 0; // multiplicity spread of RPs
Double_t dV2RP = 0.05; // elliptic flow of RPs
-Double_t dV2SpreadRP = 0.001; // elliptic flow spread of RPs
+Double_t dV2SpreadRP = 0.; // elliptic flow spread of RPs
Double_t dV1RP = 0.0; // directed flow of RPs
Double_t dV1SpreadRP = 0.0; // directed flow spread of RPs
//---------------------------------------------------------------------------------------
// set the global event parameters:
+ eventMakerOnTheFly->SetNoOfLoops(iLoops);
eventMakerOnTheFly->SetMultiplicityOfRP(iMultiplicityOfRP);
eventMakerOnTheFly->SetMultiplicitySpreadOfRP(dMultiplicitySpreadOfRP);
eventMakerOnTheFly->SetV1RP(dV1RP);