//________________________________________________________________________\r
AliAnalysisTaskToyModel::AliAnalysisTaskToyModel() \r
: TObject(),\r
- fUseDebug(kFALSE),\r
- fBalance(0),\r
- fRunShuffling(kFALSE), fShuffledBalance(0),\r
- fList(0), fListBF(0), fListBFS(0),\r
- fHistEventStats(0),\r
- fHistNumberOfAcceptedParticles(0),\r
- fHistReactionPlane(0),\r
- fHistEtaTotal(0), fHistEta(0),\r
- fHistRapidityTotal(0), fHistRapidity(0),\r
- fHistRapidityPions(0), fHistRapidityKaons(0), fHistRapidityProtons(0),\r
- fHistPhiTotal(0), fHistPhi(0),\r
- fHistPhiPions(0), fHistPhiKaons(0), fHistPhiProtons(0),\r
- fHistPtTotal(0), fHistPt(0),\r
- fHistPtPions(0), fHistPtKaons(0), fHistPtProtons(0),\r
- fTotalMultiplicityMean(100.), fTotalMultiplicitySigma(0.0),\r
- fNetChargeMean(0.0), fNetChargeSigma(0.0),\r
- fPtMin(0.0), fPtMax(100.0),\r
- fEtaMin(-1.0), fEtaMax(1.0),\r
- fUseAcceptanceParameterization(kFALSE), fAcceptanceParameterization(0),\r
- fUseAllCharges(kFALSE), fParticleMass(0.0),\r
- fPtSpectraAllCharges(0), fTemperatureAllCharges(100.),\r
- fReactionPlane(0.0),\r
- fAzimuthalAngleAllCharges(0), fDirectedFlowAllCharges(0.0), \r
- fEllipticFlowAllCharges(0.0), fTriangularFlowAllCharges(0.0),\r
- fQuandrangularFlowAllCharges(0.0), fPentangularFlowAllCharges(0.0),\r
- fPionPercentage(0.8), fPionMass(0.0),\r
- fPtSpectraPions(0), fTemperaturePions(100.),\r
- fAzimuthalAnglePions(0), fDirectedFlowPions(0.0), \r
- fEllipticFlowPions(0.0), fTriangularFlowPions(0.0), \r
- fQuandrangularFlowPions(0.0), fPentangularFlowPions(0.0),\r
- fKaonPercentage(0.8), fKaonMass(0.0),\r
- fPtSpectraKaons(0), fTemperatureKaons(100.),\r
- fAzimuthalAngleKaons(0), fDirectedFlowKaons(0.0), \r
- fEllipticFlowKaons(0.0), fTriangularFlowKaons(0.0),\r
- fQuandrangularFlowKaons(0.0), fPentangularFlowKaons(0.0),\r
- fProtonPercentage(0.8), fProtonMass(0.0),\r
- fPtSpectraProtons(0), fTemperatureProtons(100.),\r
- fAzimuthalAngleProtons(0), fDirectedFlowProtons(0.0), \r
- fEllipticFlowProtons(0.0), fTriangularFlowProtons(0.0),\r
- fQuandrangularFlowProtons(0.0), fPentangularFlowProtons(0.0) {\r
+ fUseDebug(kFALSE),\r
+ fBalance(0),\r
+ fRunShuffling(kFALSE), fShuffledBalance(0),\r
+ fList(0), fListBF(0), fListBFS(0),\r
+ fHistEventStats(0),\r
+ fHistNumberOfAcceptedParticles(0),\r
+ fHistReactionPlane(0),\r
+ fHistEtaTotal(0), fHistEta(0),\r
+ fHistRapidity(0),\r
+ fHistRapidityPions(0), fHistRapidityKaons(0), fHistRapidityProtons(0),\r
+ fHistPhi(0),\r
+ fHistPhiPions(0), fHistPhiKaons(0), fHistPhiProtons(0),\r
+ fHistPt(0),\r
+ fHistPtPions(0), fHistPtKaons(0), fHistPtProtons(0),\r
+ fTotalMultiplicityMean(100.), fTotalMultiplicitySigma(0.0),\r
+ fNetChargeMean(0.0), fNetChargeSigma(0.0),\r
+ fPtMin(0.0), fPtMax(100.0),\r
+ fEtaMin(-1.0), fEtaMax(1.0),\r
+ fUseAcceptanceParameterization(kFALSE), fAcceptanceParameterization(0),\r
+ fUseAllCharges(kFALSE), fParticleMass(0.0),\r
+ fPtSpectraAllCharges(0), fTemperatureAllCharges(100.),\r
+ fReactionPlane(0.0),\r
+ fAzimuthalAngleAllCharges(0), fDirectedFlowAllCharges(0.0), \r
+ fEllipticFlowAllCharges(0.0), fTriangularFlowAllCharges(0.0),\r
+ fQuandrangularFlowAllCharges(0.0), fPentangularFlowAllCharges(0.0),\r
+ fPionPercentage(0.8), fPionMass(0.0),\r
+ fPtSpectraPions(0), fTemperaturePions(100.),\r
+ fAzimuthalAnglePions(0), fDirectedFlowPions(0.0), \r
+ fEllipticFlowPions(0.0), fTriangularFlowPions(0.0), \r
+ fQuandrangularFlowPions(0.0), fPentangularFlowPions(0.0),\r
+ fKaonPercentage(0.8), fKaonMass(0.0),\r
+ fPtSpectraKaons(0), fTemperatureKaons(100.),\r
+ fAzimuthalAngleKaons(0), fDirectedFlowKaons(0.0), \r
+ fEllipticFlowKaons(0.0), fTriangularFlowKaons(0.0),\r
+ fQuandrangularFlowKaons(0.0), fPentangularFlowKaons(0.0),\r
+ fProtonPercentage(0.8), fProtonMass(0.0),\r
+ fPtSpectraProtons(0), fTemperatureProtons(100.),\r
+ fAzimuthalAngleProtons(0), fDirectedFlowProtons(0.0), \r
+ fEllipticFlowProtons(0.0), fTriangularFlowProtons(0.0),\r
+ fQuandrangularFlowProtons(0.0), fPentangularFlowProtons(0.0),\r
+ fUseDynamicalCorrelations(kFALSE), fDynamicalCorrelationsPercentage(0.1) {\r
// Constructor\r
}\r
\r
fList->Add(fHistEta);\r
\r
//Rapidity\r
- fHistRapidityTotal = new TH1F("fHistRapidityTotal","Rapidity (full phase space);y;Entries",1000,-15.,15.); \r
- fList->Add(fHistRapidityTotal);\r
-\r
fHistRapidity = new TH1F("fHistRapidity","Rapidity (acceptance);y;Entries",1000,-1.5,1.5); \r
fList->Add(fHistRapidity);\r
fHistRapidityPions = new TH1F("fHistRapidityPions","Rapidity (acceptance - pions);y;Entries",1000,-1.5,1.5); \r
fList->Add(fHistRapidityProtons);\r
\r
//Phi\r
- fHistPhiTotal = new TH1F("fHistPhiTotal","Phi (full phase space);#phi (rad);Entries",1000,0.,2*TMath::Pi());\r
- fList->Add(fHistPhiTotal);\r
-\r
fHistPhi = new TH1F("fHistPhi","Phi (acceptance);#phi (rad);Entries",1000,0.,2*TMath::Pi());\r
fList->Add(fHistPhi);\r
\r
\r
\r
//Pt\r
- fHistPtTotal = new TH1F("fHistPtTotal","Pt (full phase space);p_{t} (GeV/c);Entries",1000,0.,10.);\r
- fList->Add(fHistPtTotal);\r
-\r
fHistPt = new TH1F("fHistPt","Pt (acceptance);p_{t} (GeV/c);Entries",1000,0.,10.);\r
fList->Add(fHistPt);\r
\r
//Multiplicities\r
Int_t nMultiplicity = (Int_t)(gRandom->Gaus(fTotalMultiplicityMean,fTotalMultiplicitySigma));\r
Int_t nNetCharge = (Int_t)(gRandom->Gaus(fNetChargeMean,fNetChargeSigma));\r
- Int_t nGeneratedPositive = 0, nGeneratedNegative = 0;\r
+ \r
+ Int_t nGeneratedPositive = (Int_t)((nMultiplicity/2) + nNetCharge);\r
+ Int_t nGeneratedNegative = nMultiplicity - nGeneratedPositive;\r
+ if(fUseDebug) \r
+ Printf("Total multiplicity: %d - Generated positive: %d - Generated negative: %d",nMultiplicity,nGeneratedPositive,nGeneratedNegative);\r
+\r
+ //Int_t nGeneratedPositive = 0, nGeneratedNegative = 0;\r
Int_t nGeneratedPions = 0, nGeneratedKaons = 0, nGeneratedProtons = 0;\r
\r
//Randomization of the reaction plane\r
}\r
\r
Int_t gNumberOfAcceptedParticles = 0;\r
- //Generate particles\r
- for(Int_t iParticleCount = 0; iParticleCount < nMultiplicity; iParticleCount++) {\r
+ Int_t gNumberOfAcceptedPositiveParticles = 0;\r
+ Int_t gNumberOfAcceptedNegativeParticles = 0;\r
+ \r
+ //Generate positive particles\r
+ for(Int_t iParticleCount = 0; iParticleCount < nGeneratedPositive; iParticleCount++) {\r
isPion = kFALSE; isKaon = kFALSE; isProton = kFALSE;\r
+ if(fUseDebug) \r
+ Printf("Generating positive: %d(%d)",iParticleCount+1,nGeneratedPositive);\r
\r
- //Decide the charge\r
- Double_t randomNumberCharge = gRandom->Rndm();\r
- if(randomNumberCharge <= 0.5*(nMultiplicity + nNetCharge)/nMultiplicity) {\r
- v_charge = 1.0;\r
- nGeneratedPositive += 1;\r
- }\r
- else {\r
- nGeneratedNegative += 1;\r
- v_charge = -1.0;\r
- }\r
+ //Pseudo-rapidity sampled from a Gaussian centered @ 0\r
+ v_eta = gRandom->Gaus(0.0,4.0);\r
+\r
+ //Fill QA histograms (full phase space)\r
+ fHistEtaTotal->Fill(v_eta);\r
+\r
+ v_charge = 1.0;\r
+ //nGeneratedPositive += 1;\r
\r
+ //Acceptance\r
+ if((v_eta < fEtaMin) || (v_eta > fEtaMax)) continue;\r
+\r
if(!fUseAllCharges) {\r
//Decide the specie\r
Double_t randomNumberSpecies = gRandom->Rndm();\r
}\r
else {\r
v_pt = fPtSpectraAllCharges->GetRandom();\r
- v_phi = fAzimuthalAngleAllCharges->GetRandom();\r
+ v_phi = TMath::RadToDeg()*fAzimuthalAngleAllCharges->GetRandom();\r
}\r
- v_eta = gRandom->Gaus(0.0,4.0);\r
\r
v_p[0] = v_pt*TMath::Cos(v_phi);\r
v_p[1] = v_pt*TMath::Sin(v_phi);\r
\r
v_y = 0.5*TMath::Log((v_E + v_p[2])/(v_E - v_p[2]));\r
\r
+ //pt coverage\r
+ if((v_pt < fPtMin) || (v_pt > fPtMax)) continue;\r
+ //Printf("pt: %lf - mins: %lf - max: %lf",v_pt,fPtMin,fPtMax);\r
+\r
+ //acceptance filter\r
+ if(fUseAcceptanceParameterization) {\r
+ Double_t gRandomNumberForAcceptance = gRandom->Rndm();\r
+ if(gRandomNumberForAcceptance > fAcceptanceParameterization->Eval(v_pt)) \r
+ continue;\r
+ }\r
+\r
+ gNumberOfAcceptedPositiveParticles += 1;\r
+\r
+ //Fill QA histograms (acceptance);\r
+ fHistEta->Fill(v_eta);\r
+ fHistRapidity->Fill(v_y);\r
+ fHistPhi->Fill(v_phi);\r
+ fHistPt->Fill(v_pt);\r
+ if(isPion) {\r
+ fHistRapidityPions->Fill(v_y);\r
+ fHistPhiPions->Fill(v_phi);\r
+ fHistPtPions->Fill(v_pt);\r
+ }\r
+ else if(isKaon) {\r
+ fHistRapidityKaons->Fill(v_y);\r
+ fHistPhiKaons->Fill(v_phi);\r
+ fHistPtKaons->Fill(v_pt);\r
+ }\r
+ else if(isProton) {\r
+ fHistRapidityProtons->Fill(v_y);\r
+ fHistPhiProtons->Fill(v_phi);\r
+ fHistPtProtons->Fill(v_pt);\r
+ }\r
+\r
+ // fill charge vector\r
+ chargeVector[0]->push_back(v_charge);\r
+ chargeVector[1]->push_back(v_y);\r
+ chargeVector[2]->push_back(v_eta);\r
+ chargeVector[3]->push_back(TMath::RadToDeg()*v_phi);\r
+ chargeVector[4]->push_back(v_p[0]);\r
+ chargeVector[5]->push_back(v_p[1]);\r
+ chargeVector[6]->push_back(v_p[2]);\r
+ chargeVector[7]->push_back(v_pt);\r
+ chargeVector[8]->push_back(v_E);\r
+ \r
+ if(fRunShuffling) {\r
+ chargeVectorShuffle[0]->push_back(v_charge);\r
+ chargeVectorShuffle[1]->push_back(v_y);\r
+ chargeVectorShuffle[2]->push_back(v_eta);\r
+ chargeVectorShuffle[3]->push_back(TMath::RadToDeg()*v_phi);\r
+ chargeVectorShuffle[4]->push_back(v_p[0]);\r
+ chargeVectorShuffle[5]->push_back(v_p[1]);\r
+ chargeVectorShuffle[6]->push_back(v_p[2]);\r
+ chargeVectorShuffle[7]->push_back(v_pt);\r
+ chargeVectorShuffle[8]->push_back(v_E);\r
+ }\r
+ gNumberOfAcceptedParticles += 1;\r
+ }//generated positive particle loop\r
+ \r
+ //Generate negative particles\r
+ for(Int_t iParticleCount = 0; iParticleCount < nGeneratedNegative; iParticleCount++) {\r
+ isPion = kFALSE; isKaon = kFALSE; isProton = kFALSE;\r
+ if(fUseDebug) \r
+ Printf("Generating negative: %d(%d)",iParticleCount+1,nGeneratedNegative);\r
+\r
+ //Pseudo-rapidity sampled from a Gaussian centered @ 0\r
+ v_eta = gRandom->Gaus(0.0,4.0);\r
+\r
//Fill QA histograms (full phase space)\r
fHistEtaTotal->Fill(v_eta);\r
- fHistRapidityTotal->Fill(v_y);\r
- fHistPhiTotal->Fill(v_phi);\r
- fHistPtTotal->Fill(v_pt);\r
\r
+ v_charge = -1.0;\r
+ //nGeneratedNegative += 1;\r
+ \r
//Acceptance\r
if((v_eta < fEtaMin) || (v_eta > fEtaMax)) continue;\r
+\r
+ if(!fUseAllCharges) {\r
+ //Decide the specie\r
+ Double_t randomNumberSpecies = gRandom->Rndm();\r
+ if((randomNumberSpecies >= 0.0)&&(randomNumberSpecies < fPionPercentage)) {\r
+ nGeneratedPions += 1;\r
+ v_pt = fPtSpectraPions->GetRandom();\r
+ v_phi = fAzimuthalAnglePions->GetRandom();\r
+ fParticleMass = fPionMass;\r
+ isPion = kTRUE;\r
+ }\r
+ else if((randomNumberSpecies >= fPionPercentage)&&(randomNumberSpecies < fPionPercentage + fKaonPercentage)) {\r
+ nGeneratedKaons += 1;\r
+ v_pt = fPtSpectraKaons->GetRandom();\r
+ v_phi = fAzimuthalAngleKaons->GetRandom();\r
+ fParticleMass = fKaonMass;\r
+ isKaon = kTRUE;\r
+ }\r
+ else if((randomNumberSpecies >= fPionPercentage + fKaonPercentage)&&(randomNumberSpecies < fPionPercentage + fKaonPercentage + fProtonPercentage)) {\r
+ nGeneratedProtons += 1;\r
+ v_pt = fPtSpectraProtons->GetRandom();\r
+ v_phi = fAzimuthalAngleProtons->GetRandom();\r
+ fParticleMass = fProtonMass;\r
+ isProton = kTRUE;\r
+ }\r
+ }\r
+ else {\r
+ v_pt = fPtSpectraAllCharges->GetRandom();\r
+ v_phi = fAzimuthalAngleAllCharges->GetRandom();\r
+ }\r
+ \r
+ v_p[0] = v_pt*TMath::Cos(v_phi);\r
+ v_p[1] = v_pt*TMath::Sin(v_phi);\r
+ v_p[2] = v_pt*TMath::SinH(v_eta);\r
+ v_E = TMath::Sqrt(TMath::Power(fParticleMass,2) +\r
+ TMath::Power(v_p[0],2) +\r
+ TMath::Power(v_p[1],2) +\r
+ TMath::Power(v_p[2],2));\r
+ \r
+ v_y = 0.5*TMath::Log((v_E + v_p[2])/(v_E - v_p[2]));\r
+ \r
+ //pt coverage\r
if((v_pt < fPtMin) || (v_pt > fPtMax)) continue;\r
//Printf("pt: %lf - mins: %lf - max: %lf",v_pt,fPtMin,fPtMax);\r
\r
+ //acceptance filter\r
+ if(fUseAcceptanceParameterization) {\r
+ Double_t gRandomNumberForAcceptance = gRandom->Rndm();\r
+ if(gRandomNumberForAcceptance > fAcceptanceParameterization->Eval(v_pt)) \r
+ continue;\r
+ }\r
+\r
+ gNumberOfAcceptedNegativeParticles += 1;\r
+\r
//Fill QA histograms (acceptance);\r
fHistEta->Fill(v_eta);\r
fHistRapidity->Fill(v_y);\r
chargeVector[0]->push_back(v_charge);\r
chargeVector[1]->push_back(v_y);\r
chargeVector[2]->push_back(v_eta);\r
- chargeVector[3]->push_back(v_phi);\r
+ chargeVector[3]->push_back(TMath::RadToDeg()*v_phi);\r
chargeVector[4]->push_back(v_p[0]);\r
chargeVector[5]->push_back(v_p[1]);\r
chargeVector[6]->push_back(v_p[2]);\r
chargeVectorShuffle[0]->push_back(v_charge);\r
chargeVectorShuffle[1]->push_back(v_y);\r
chargeVectorShuffle[2]->push_back(v_eta);\r
- chargeVectorShuffle[3]->push_back(v_phi);\r
+ chargeVectorShuffle[3]->push_back(TMath::RadToDeg()*v_phi);\r
chargeVectorShuffle[4]->push_back(v_p[0]);\r
chargeVectorShuffle[5]->push_back(v_p[1]);\r
chargeVectorShuffle[6]->push_back(v_p[2]);\r
chargeVectorShuffle[8]->push_back(v_E);\r
}\r
gNumberOfAcceptedParticles += 1;\r
+ }//generated negative particle loop\r
+ \r
+ //Dynamical correlations\r
+ Double_t v_chargePrime;\r
+ Double_t v_yPrime;\r
+ Double_t v_etaPrime;\r
+ Double_t v_phiPrime;\r
+ Double_t v_pPrime[3];\r
+ Double_t v_ptPrime;\r
+ Double_t v_EPrime;\r
+ Int_t nGeneratedPositiveDynamicalCorrelations = 0;\r
+ Int_t nGeneratedNegativeDynamicalCorrelations = 0;\r
+ //Generate "correlated" particles \r
+ if(fUseDynamicalCorrelations) {\r
+ Int_t gNumberOfDynamicalCorrelations = (Int_t)(0.5*gNumberOfAcceptedParticles*fDynamicalCorrelationsPercentage);\r
+ for(Int_t iDynamicalCorrelations = 0; iDynamicalCorrelations < gNumberOfDynamicalCorrelations; iDynamicalCorrelations++) {\r
+ isPion = kFALSE; isKaon = kFALSE; isProton = kFALSE;\r
+ \r
+ //Pseudo-rapidity sampled from a Gaussian centered @ 0\r
+ v_eta = gRandom->Gaus(0.0,0.1);\r
+ v_charge = 1.0;\r
+ nGeneratedPositiveDynamicalCorrelations += 1;\r
+ \r
+ v_etaPrime = -v_eta;\r
+ v_chargePrime = -1.0;\r
+ nGeneratedNegativeDynamicalCorrelations += 1;\r
+ \r
+ //Acceptance\r
+ if((v_eta < fEtaMin) || (v_eta > fEtaMax)) continue;\r
+ if((v_etaPrime < fEtaMin) || (v_etaPrime > fEtaMax)) continue;\r
\r
- }//generated particle loop\r
- \r
+ if(!fUseAllCharges) {\r
+ //Decide the specie\r
+ Double_t randomNumberSpecies = gRandom->Rndm();\r
+ if((randomNumberSpecies >= 0.0)&&(randomNumberSpecies < fPionPercentage)) {\r
+ nGeneratedPions += 1;\r
+ v_pt = fPtSpectraPions->GetRandom();\r
+ v_phi = fAzimuthalAnglePions->GetRandom();\r
+ fParticleMass = fPionMass;\r
+ isPion = kTRUE;\r
+ }\r
+ else if((randomNumberSpecies >= fPionPercentage)&&(randomNumberSpecies < fPionPercentage + fKaonPercentage)) {\r
+ nGeneratedKaons += 1;\r
+ v_pt = fPtSpectraKaons->GetRandom();\r
+ v_phi = fAzimuthalAngleKaons->GetRandom();\r
+ fParticleMass = fKaonMass;\r
+ isKaon = kTRUE;\r
+ }\r
+ else if((randomNumberSpecies >= fPionPercentage + fKaonPercentage)&&(randomNumberSpecies < fPionPercentage + fKaonPercentage + fProtonPercentage)) {\r
+ nGeneratedProtons += 1;\r
+ v_pt = fPtSpectraProtons->GetRandom();\r
+ v_ptPrime = v_pt;\r
+ v_phi = fAzimuthalAngleProtons->GetRandom();\r
+ fParticleMass = fProtonMass;\r
+ isProton = kTRUE;\r
+ }\r
+ }\r
+ else {\r
+ v_pt = fPtSpectraAllCharges->GetRandom();\r
+ v_phi = fAzimuthalAngleAllCharges->GetRandom();\r
+ }\r
+ v_ptPrime = v_pt;\r
+ v_phiPrime = v_phi;\r
+\r
+ v_p[0] = v_pt*TMath::Cos(v_phi);\r
+ v_p[1] = v_pt*TMath::Sin(v_phi);\r
+ v_p[2] = v_pt*TMath::SinH(v_eta);\r
+ v_E = TMath::Sqrt(TMath::Power(fParticleMass,2) +\r
+ TMath::Power(v_p[0],2) +\r
+ TMath::Power(v_p[1],2) +\r
+ TMath::Power(v_p[2],2));\r
+ \r
+ v_y = 0.5*TMath::Log((v_E + v_p[2])/(v_E - v_p[2]));\r
+\r
+ v_pPrime[0] = v_ptPrime*TMath::Cos(v_phiPrime);\r
+ v_pPrime[1] = v_ptPrime*TMath::Sin(v_phiPrime);\r
+ v_pPrime[2] = v_ptPrime*TMath::SinH(v_etaPrime);\r
+ v_EPrime = TMath::Sqrt(TMath::Power(fParticleMass,2) +\r
+ TMath::Power(v_pPrime[0],2) +\r
+ TMath::Power(v_pPrime[1],2) +\r
+ TMath::Power(v_pPrime[2],2));\r
+ \r
+ v_yPrime = 0.5*TMath::Log((v_EPrime + v_pPrime[2])/(v_EPrime - v_pPrime[2]));\r
+ \r
+ //pt coverage\r
+ if((v_pt < fPtMin) || (v_pt > fPtMax)) continue;\r
+ if((v_ptPrime < fPtMin) || (v_ptPrime > fPtMax)) continue;\r
+\r
+ //acceptance filter\r
+ if(fUseAcceptanceParameterization) {\r
+ Double_t gRandomNumberForAcceptance = gRandom->Rndm();\r
+ if(gRandomNumberForAcceptance > fAcceptanceParameterization->Eval(v_pt)) \r
+ continue;\r
+ \r
+ Double_t gRandomNumberForAcceptancePrime = gRandom->Rndm();\r
+ if(gRandomNumberForAcceptancePrime > fAcceptanceParameterization->Eval(v_ptPrime)) \r
+ continue;\r
+ }\r
+ \r
+ // fill charge vector (positive)\r
+ chargeVector[0]->push_back(v_charge);\r
+ chargeVector[1]->push_back(v_y);\r
+ chargeVector[2]->push_back(v_eta);\r
+ chargeVector[3]->push_back(TMath::RadToDeg()*v_phi);\r
+ chargeVector[4]->push_back(v_p[0]);\r
+ chargeVector[5]->push_back(v_p[1]);\r
+ chargeVector[6]->push_back(v_p[2]);\r
+ chargeVector[7]->push_back(v_pt);\r
+ chargeVector[8]->push_back(v_E);\r
+ \r
+ if(fRunShuffling) {\r
+ chargeVectorShuffle[0]->push_back(v_charge);\r
+ chargeVectorShuffle[1]->push_back(v_y);\r
+ chargeVectorShuffle[2]->push_back(v_eta);\r
+ chargeVectorShuffle[3]->push_back(TMath::RadToDeg()*v_phi);\r
+ chargeVectorShuffle[4]->push_back(v_p[0]);\r
+ chargeVectorShuffle[5]->push_back(v_p[1]);\r
+ chargeVectorShuffle[6]->push_back(v_p[2]);\r
+ chargeVectorShuffle[7]->push_back(v_pt);\r
+ chargeVectorShuffle[8]->push_back(v_E);\r
+ }\r
+\r
+ // fill charge vector (negative)\r
+ chargeVector[0]->push_back(v_chargePrime);\r
+ chargeVector[1]->push_back(v_yPrime);\r
+ chargeVector[2]->push_back(v_etaPrime);\r
+ chargeVector[3]->push_back(TMath::RadToDeg()*v_phiPrime);\r
+ chargeVector[4]->push_back(v_pPrime[0]);\r
+ chargeVector[5]->push_back(v_pPrime[1]);\r
+ chargeVector[6]->push_back(v_pPrime[2]);\r
+ chargeVector[7]->push_back(v_ptPrime);\r
+ chargeVector[8]->push_back(v_EPrime);\r
+ \r
+ if(fRunShuffling) {\r
+ chargeVectorShuffle[0]->push_back(v_chargePrime);\r
+ chargeVectorShuffle[1]->push_back(v_yPrime);\r
+ chargeVectorShuffle[2]->push_back(v_etaPrime);\r
+ chargeVectorShuffle[3]->push_back(TMath::RadToDeg()*v_phiPrime);\r
+ chargeVectorShuffle[4]->push_back(v_pPrime[0]);\r
+ chargeVectorShuffle[5]->push_back(v_pPrime[1]);\r
+ chargeVectorShuffle[6]->push_back(v_pPrime[2]);\r
+ chargeVectorShuffle[7]->push_back(v_ptPrime);\r
+ chargeVectorShuffle[8]->push_back(v_EPrime);\r
+ }\r
+\r
+ gNumberOfAcceptedParticles += 2;\r
+ }//loop over the dynamical correlations\r
+ }// usage of dynamical correlations\r
+\r
if(fUseDebug) {\r
Printf("=======================================================");\r
Printf("Total: %d - Total positive: %d - Total negative: %d",nMultiplicity,nGeneratedPositive,nGeneratedNegative);\r
+ Printf("Accepted positive: %d - Accepted negative: %d",gNumberOfAcceptedPositiveParticles,gNumberOfAcceptedNegativeParticles);\r
+ Printf("Correlations: %d - Correlations positive: %d - Correlations negative: %d",nGeneratedPositiveDynamicalCorrelations+nGeneratedNegativeDynamicalCorrelations,nGeneratedPositiveDynamicalCorrelations,nGeneratedNegativeDynamicalCorrelations);\r
+ Printf("Number of accepted particles: %d",gNumberOfAcceptedParticles);\r
if(!fUseAllCharges)\r
Printf("Pions: %lf - Kaons: %lf - Protons: %lf",1.*nGeneratedPions/nMultiplicity,1.*nGeneratedKaons/nMultiplicity,1.*nGeneratedProtons/nMultiplicity);\r
- Printf("Calculating the balance function for %d particles",chargeVector[0]->size());\r
+ //Printf("Calculating the balance function for %d particles",chargeVector[0]->size());\r
}\r
\r
fHistEventStats->Fill(4);\r