Double_t dSumOfYieldRP=0.;
for (Int_t b=1;b<fgknBinsPt+1;b++)
{
- if(fch->GetHistPtInt())
+ if(fch->GetHistPtRP())
{
- dSumOfYieldRP+=(fch->GetHistPtInt())->GetBinContent(b);
+ dSumOfYieldRP+=(fch->GetHistPtRP())->GetBinContent(b);
if(fchr2nd->GetHistDiffFlowPtRP())
{
- dV2RP+=((fchr2nd->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtInt())->GetBinContent(b);
- dV2RPError+=pow((fch->GetHistPtInt())->GetBinContent(b),2.)*pow((fchr2nd->GetHistDiffFlowPtRP())->GetBinError(b),2.);
+ dV2RP+=((fchr2nd->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtRP())->GetBinContent(b);
+ dV2RPError+=pow((fch->GetHistPtRP())->GetBinContent(b),2.)*pow((fchr2nd->GetHistDiffFlowPtRP())->GetBinError(b),2.);
}
if(fchr4th->GetHistDiffFlowPtRP())
{
- dV4RP+=((fchr4th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtInt())->GetBinContent(b);
- dV4RPError+=pow((fch->GetHistPtInt())->GetBinContent(b),2.)*pow((fchr4th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
+ dV4RP+=((fchr4th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtRP())->GetBinContent(b);
+ dV4RPError+=pow((fch->GetHistPtRP())->GetBinContent(b),2.)*pow((fchr4th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
}
if(fchr6th->GetHistDiffFlowPtRP())
{
- dV6RP+=((fchr6th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtInt())->GetBinContent(b);
- dV6RPError+=pow((fch->GetHistPtInt())->GetBinContent(b),2.)*pow((fchr6th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
+ dV6RP+=((fchr6th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtRP())->GetBinContent(b);
+ dV6RPError+=pow((fch->GetHistPtRP())->GetBinContent(b),2.)*pow((fchr6th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
}
if(fchr8th->GetHistDiffFlowPtRP())
{
- dV8RP+=((fchr8th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtInt())->GetBinContent(b);
- dV8RPError+=pow((fch->GetHistPtInt())->GetBinContent(b),2.)*pow((fchr8th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
+ dV8RP+=((fchr8th->GetHistDiffFlowPtRP())->GetBinContent(b))*(fch->GetHistPtRP())->GetBinContent(b);
+ dV8RPError+=pow((fch->GetHistPtRP())->GetBinContent(b),2.)*pow((fchr8th->GetHistDiffFlowPtRP())->GetBinError(b),2.);
}
}
}
cout<<" v_"<<fgkFlow<<"{8} = "<<dV8RP<<" +/- "<<pow(dV8RPError,0.5)<<endl;
cout<<endl;
- cout<<" nEvts = "<<(fch->GetHistMultInt())->GetEntries()<<", AvM = "<<(fch->GetHistMultInt())->GetMean()<<endl;
+ cout<<" nEvts = "<<(fch->GetHistMultRP())->GetEntries()<<", AvM = "<<(fch->GetHistMultRP())->GetMean()<<endl;
cout<<"***************************************"<<endl;
cout<<"***************************************"<<endl;
Double_t dSumOfYieldPOI=0.;
for (Int_t b=1;b<fgknBinsPt+1;b++)
{
- if(fch->GetHistPtDiff())
+ if(fch->GetHistPtPOI())
{
- dSumOfYieldPOI+=(fch->GetHistPtDiff())->GetBinContent(b);
+ dSumOfYieldPOI+=(fch->GetHistPtPOI())->GetBinContent(b);
if(fchr2nd->GetHistDiffFlowPtPOI())
{
- dV2POI+=((fchr2nd->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtDiff())->GetBinContent(b);
- dV2POIError+=pow((fch->GetHistPtDiff())->GetBinContent(b),2.)*pow((fchr2nd->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
+ dV2POI+=((fchr2nd->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtPOI())->GetBinContent(b);
+ dV2POIError+=pow((fch->GetHistPtPOI())->GetBinContent(b),2.)*pow((fchr2nd->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
}
if(fchr4th->GetHistDiffFlowPtPOI())
{
- dV4POI+=((fchr4th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtDiff())->GetBinContent(b);
- dV4POIError+=pow((fch->GetHistPtDiff())->GetBinContent(b),2.)*pow((fchr4th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
+ dV4POI+=((fchr4th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtPOI())->GetBinContent(b);
+ dV4POIError+=pow((fch->GetHistPtPOI())->GetBinContent(b),2.)*pow((fchr4th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
}
if(fchr6th->GetHistDiffFlowPtPOI())
{
- dV6POI+=((fchr6th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtDiff())->GetBinContent(b);
- dV6POIError+=pow((fch->GetHistPtDiff())->GetBinContent(b),2.)*pow((fchr6th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
+ dV6POI+=((fchr6th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtPOI())->GetBinContent(b);
+ dV6POIError+=pow((fch->GetHistPtPOI())->GetBinContent(b),2.)*pow((fchr6th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
}
if(fchr8th->GetHistDiffFlowPtPOI())
{
- dV8POI+=((fchr8th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtDiff())->GetBinContent(b);
- dV8POIError+=pow((fch->GetHistPtDiff())->GetBinContent(b),2.)*pow((fchr8th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
+ dV8POI+=((fchr8th->GetHistDiffFlowPtPOI())->GetBinContent(b))*(fch->GetHistPtPOI())->GetBinContent(b);
+ dV8POIError+=pow((fch->GetHistPtPOI())->GetBinContent(b),2.)*pow((fchr8th->GetHistDiffFlowPtPOI())->GetBinError(b),2.);
}
}
}
cout<<" v_"<<fgkFlow<<"{8} = "<<dV8POI<<" +/- "<<pow(dV8POIError,0.5)<<endl;
cout<<endl;
- cout<<" nEvts = "<<(fch->GetHistMultDiff())->GetEntries()<<", AvM = "<<(fch->GetHistMultDiff())->GetMean()<<endl;
+ cout<<" nEvts = "<<(fch->GetHistMultPOI())->GetEntries()<<", AvM = "<<(fch->GetHistMultPOI())->GetMean()<<endl;
cout<<"***************************************"<<endl;
cout<<"***************************************"<<endl;
cout<<endl;
//running over data:
Int_t nPrim = anEvent->NumberOfTracks(); //total multiplicity
- Int_t nEventNSelTracksIntFlow = anEvent->GetEventNSelTracksIntFlow(); //selected multiplicity (particles used for int. flow)
+ Int_t nEventNSelTracksRP = anEvent->GetEventNSelTracksRP(); //selected multiplicity (particles used for int. flow)
Int_t n = 2; // int flow harmonic (to be improved)
}
//---------------------------------------------------------------------------------------------------------
- if(nEventNSelTracksIntFlow>9) //generating function formalism applied here make sense only for selected multiplicity >= 10
+ if(nEventNSelTracksRP>9) //generating function formalism applied here make sense only for selected multiplicity >= 10
{
//fill the common control histograms
fCommonHists->FillControlHistograms(anEvent);
}
}
- Int_t nSelTracksIntFlow = 0; //cross-checking the selected multiplicity
+ Int_t nSelTracksRP = 0; //cross-checking the selected multiplicity
Double_t dPhi = 0.;
Double_t dPt = 0.;
for(Int_t i=0;i<nPrim;i++)
{
fTrack=anEvent->GetTrack(i);
- if(fTrack && fTrack->UseForIntegratedFlow())
+ if(fTrack && fTrack->InRPSelection())
{
- nSelTracksIntFlow++;
+ nSelTracksRP++;
// get azimuthal angle, momentum and pseudorapidity of a particle:
dPhi = fTrack->Phi();
dPt = fTrack->Pt();
{
for(Int_t q=0;q<fgkQmax;q++)
{
- genfunG[p][q]*=(1.+wPhi*wPt*wEta*(2.*fR0*sqrt(p+1.)/nEventNSelTracksIntFlow)*cos(fgkFlow*dPhi-2.*q*TMath::Pi()/fgkQmax));
+ genfunG[p][q]*=(1.+wPhi*wPt*wEta*(2.*fR0*sqrt(p+1.)/nEventNSelTracksRP)*cos(fgkFlow*dPhi-2.*q*TMath::Pi()/fgkQmax));
}
}
// calculate <w^2>
}
//storing the selected multiplicity (if fAvMultIntFlow is not filled here then you had wrongly selected the particles used for integrated flow)
- if(nSelTracksIntFlow==nEventNSelTracksIntFlow)
+ if(nSelTracksRP==nEventNSelTracksRP)
{
- fAvMultIntFlowGFC->Fill(0.,nSelTracksIntFlow,1);
+ fAvMultIntFlowGFC->Fill(0.,nSelTracksRP,1);
}
// calculating Q-vector of event (needed for errors)
fTrack=anEvent->GetTrack(i);
if(fTrack)
{
- if(fTrack->UseForIntegratedFlow() && fTrack->UseForDifferentialFlow())
+ if(fTrack->InRPSelection() && fTrack->InPOISelection())
{
fPtBinPOINoOfParticles->Fill(fTrack->Pt(),fTrack->Pt(),1.);
fEtaBinPOINoOfParticles->Fill(fTrack->Eta(),fTrack->Eta(),1.);
for(Int_t q=0;q<fgkQmax;q++)
{
//real part (Pt)
- fDiffFlowPtPOIGenFunRe->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowPtPOIGenFunRe->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part (Pt)
- fDiffFlowPtPOIGenFunIm->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowPtPOIGenFunIm->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//real part (Eta)
- fDiffFlowEtaPOIGenFunRe->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowEtaPOIGenFunRe->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part (Eta)
- fDiffFlowEtaPOIGenFunIm->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowEtaPOIGenFunIm->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
}
}
}
- else if(fTrack->UseForDifferentialFlow() && !(fTrack->UseForIntegratedFlow()))
+ else if(fTrack->InPOISelection() && !(fTrack->InRPSelection()))
{
fPtBinPOINoOfParticles->Fill(fTrack->Pt(),fTrack->Pt(),1.);
fEtaBinPOINoOfParticles->Fill(fTrack->Eta(),fTrack->Eta(),1.);
}
}
//RP:
- if(fTrack->UseForIntegratedFlow())
+ if(fTrack->InRPSelection())
{
fPtBinRPNoOfParticles->Fill(fTrack->Pt(),fTrack->Pt(),1.);
fEtaBinRPNoOfParticles->Fill(fTrack->Eta(),fTrack->Eta(),1.);
for(Int_t q=0;q<fgkQmax;q++)
{
//real part (Pt)
- fDiffFlowPtRPGenFunRe->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowPtRPGenFunRe->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part (Pt)
- fDiffFlowPtRPGenFunIm->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowPtRPGenFunIm->Fill(fTrack->Pt()/fBinWidthPt,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//real part (Eta)
- fDiffFlowEtaRPGenFunRe->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowEtaRPGenFunRe->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part (Eta)
- fDiffFlowEtaRPGenFunIm->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowEtaRPGenFunIm->Fill(fTrack->Eta()/fBinWidthEta,(Double_t)p,(Double_t)q,genfunG[p][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(p+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
}
}
- }//end of if(fTrack->UseForIntegratedFlow())
+ }//end of if(fTrack->InRPSelection())
}//end of if(fTrack)
}//ending the second loop over data
//sixteen 2D profiles for differential flow
for(Int_t i=0;i<nPrim;i++){
fTrack=anEvent->GetTrack(i);
- if (fTrack && fTrack->UseForDifferentialFlow()){
+ if (fTrack && fTrack->InPOISelection()){
//for(Int_t p=0;p<fgkPmax;p++){
for(Int_t q=0;q<fgkQmax;q++){
//real part
- fDiffFlowGenFunRe0->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[0][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(0.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe0->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[0][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(0.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm0->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[0][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(0.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm0->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[0][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(0.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe1->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[1][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(1.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe1->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[1][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(1.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm1->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[1][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(1.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm1->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[1][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(1.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe2->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[2][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(2.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe2->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[2][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(2.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm2->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[2][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(2.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm2->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[2][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(2.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe3->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[3][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(3.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe3->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[3][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(3.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm3->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[3][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(3.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm3->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[3][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(3.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe4->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[4][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(4.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe4->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[4][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(4.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm4->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[4][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(4.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm4->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[4][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(4.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe5->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[5][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(5.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe5->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[5][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(5.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm5->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[5][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(5.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm5->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[5][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(5.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe6->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[6][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(6.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe6->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[6][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(6.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm6->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[6][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(6.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm6->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[6][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(6.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//-----------------------------------------------------------------------
//real part
- fDiffFlowGenFunRe7->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[7][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(7.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunRe7->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[7][q]*cos(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(7.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
//imaginary part
- fDiffFlowGenFunIm7->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[7][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(7.+1.)/nSelTracksIntFlow)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
+ fDiffFlowGenFunIm7->Fill(fTrack->Pt()/fBinWidth,(Double_t)q,genfunG[7][q]*sin(fgkMltpl*fgkFlow*fTrack->Phi())/(1.+(2.*fR0*sqrt(7.+1.)/nSelTracksRP)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax)),1.);
}
//}
}
}//ending the second loop over data
*/
- }//end of if(nEventNSelTracksIntFlow>9)
+ }//end of if(nEventNSelTracksRP>9)
//running over data
Int_t nPrimOE = anEvent->NumberOfTracks();//total multiplicity
- Int_t nEventNSelTracksIntFlowOE = anEvent->GetEventNSelTracksIntFlow();
+ Int_t nEventNSelTracksRPOE = anEvent->GetEventNSelTracksRP();
Double_t genfunG4[fgkPmax4][fgkQmax4];
Double_t genfunG6[fgkPmax6][fgkQmax6];
}
//multiplicities:
- if(nEventNSelTracksIntFlowOE>15) fAvMultIntFlow16GFC->Fill(0.,nEventNSelTracksIntFlowOE,1);
- if(nEventNSelTracksIntFlowOE>7) fAvMultIntFlow8GFC->Fill(0.,nEventNSelTracksIntFlowOE,1);
- if(nEventNSelTracksIntFlowOE>5) fAvMultIntFlow6GFC->Fill(0.,nEventNSelTracksIntFlowOE,1);
- if(nEventNSelTracksIntFlowOE>3) fAvMultIntFlow4GFC->Fill(0.,nEventNSelTracksIntFlowOE,1);
+ if(nEventNSelTracksRPOE>15) fAvMultIntFlow16GFC->Fill(0.,nEventNSelTracksRPOE,1);
+ if(nEventNSelTracksRPOE>7) fAvMultIntFlow8GFC->Fill(0.,nEventNSelTracksRPOE,1);
+ if(nEventNSelTracksRPOE>5) fAvMultIntFlow6GFC->Fill(0.,nEventNSelTracksRPOE,1);
+ if(nEventNSelTracksRPOE>3) fAvMultIntFlow4GFC->Fill(0.,nEventNSelTracksRPOE,1);
//first loop over data: evaluating the generating function G[p][q] for integrated flow
for(Int_t i=0;i<nPrimOE;i++)
{
fTrack=anEvent->GetTrack(i);
- if(fTrack && fTrack->UseForIntegratedFlow())
+ if(fTrack && fTrack->InRPSelection())
{
for(Int_t p=0;p<fgkPmax16;p++)
{
for(Int_t q=0;q<fgkQmax16;q++)
{
- if(nEventNSelTracksIntFlowOE>15)
+ if(nEventNSelTracksRPOE>15)
{
- genfunG16[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksIntFlowOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax16));
+ genfunG16[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksRPOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax16));
}
if(p<fgkPmax8 && q<fgkQmax8)
{
- if(nEventNSelTracksIntFlowOE>7)
+ if(nEventNSelTracksRPOE>7)
{
- genfunG8[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksIntFlowOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax8));
+ genfunG8[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksRPOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax8));
}
if(p<fgkPmax6 && q<fgkQmax6)
{
- if(nEventNSelTracksIntFlowOE>5)
+ if(nEventNSelTracksRPOE>5)
{
- genfunG6[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksIntFlowOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax6));
+ genfunG6[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksRPOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax6));
}
if(p<fgkPmax4 && q<fgkQmax4)
{
- if(nEventNSelTracksIntFlowOE>3)
+ if(nEventNSelTracksRPOE>3)
{
- genfunG4[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksIntFlowOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax4));
+ genfunG4[p][q]*=(1.+(2.*fR0*sqrt(p+1.)/nEventNSelTracksRPOE)*cos(fgkFlow*fTrack->Phi()-2.*q*TMath::Pi()/fgkQmax4));
}
}
}
}
}
}
- }//end of if(fTrack && fTrack->UseForIntegratedFlow())
+ }//end of if(fTrack && fTrack->InRPSelection())
}//ending the loop over data
//storing the value of G[p][q] in 2D profile in order to get automatically the avarage <G[p][q]>
{
for(Int_t q=0;q<fgkQmax16;q++)
{
- if(nEventNSelTracksIntFlowOE>15) fIntFlowGenFun16->Fill((Double_t)p,(Double_t)q,genfunG16[p][q],1);
+ if(nEventNSelTracksRPOE>15) fIntFlowGenFun16->Fill((Double_t)p,(Double_t)q,genfunG16[p][q],1);
if(p<fgkPmax8 && q<fgkQmax8)
{
- if(nEventNSelTracksIntFlowOE>7) fIntFlowGenFun8->Fill((Double_t)p,(Double_t)q,genfunG8[p][q],1);
+ if(nEventNSelTracksRPOE>7) fIntFlowGenFun8->Fill((Double_t)p,(Double_t)q,genfunG8[p][q],1);
if(p<fgkPmax6 && q<fgkQmax6)
{
- if(nEventNSelTracksIntFlowOE>5) fIntFlowGenFun6->Fill((Double_t)p,(Double_t)q,genfunG6[p][q],1);
+ if(nEventNSelTracksRPOE>5) fIntFlowGenFun6->Fill((Double_t)p,(Double_t)q,genfunG6[p][q],1);
if(p<fgkPmax4 && q<fgkQmax4)
{
- if(nEventNSelTracksIntFlowOE>3) fIntFlowGenFun4->Fill((Double_t)p,(Double_t)q,genfunG4[p][q],1);
+ if(nEventNSelTracksRPOE>3) fIntFlowGenFun4->Fill((Double_t)p,(Double_t)q,genfunG4[p][q],1);
}
}
}
Double_t dEta = pTrack->Eta();
//calculate flow v2:
Double_t dv2 = dWR * TMath::Cos(2*(dPhi-dRP));
- if (pTrack->UseForIntegratedFlow()) {
+ if (pTrack->InRPSelection()) {
//fill histograms for RP selection
fHistProVetaRP -> Fill(dEta,dv2);
fHistProVPtRP -> Fill(dPt,dv2);
}
- if (pTrack->UseForDifferentialFlow()) {
+ if (pTrack->InPOISelection()) {
//fill histograms for POI selection
fHistProVetaPOI -> Fill(dEta,dv2);
fHistProVPtPOI -> Fill(dPt,dv2);
} //loop over bins b
//v as a function of Pt for RP selection
- TH1F* fHistPtInt = fCommonHists->GetHistPtInt(); //for calculating integrated flow
+ TH1F* fHistPtRP = fCommonHists->GetHistPtRP(); //for calculating integrated flow
Double_t dVRP = 0.;
Double_t dSum = 0.;
Double_t dErrV =0.;
//fill TH1D
fCommonHistsRes->FillDifferentialFlowPtRP(b, dv2pro, dErrdifcomb);
//calculate integrated flow for RP selection
- if (fHistPtInt){
- Double_t dYieldPt = fHistPtInt->GetBinContent(b);
+ if (fHistPtRP){
+ Double_t dYieldPt = fHistPtRP->GetBinContent(b);
dVRP += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dErrdifcomb*dErrdifcomb;
- } else { cout<<"fHistPtDiff is NULL"<<endl; }
+ } else { cout<<"fHistPtRP is NULL"<<endl; }
} //loop over bins b
//v as a function of Pt for POI selection
- TH1F* fHistPtDiff = fCommonHists->GetHistPtDiff(); //for calculating integrated flow
+ TH1F* fHistPtPOI = fCommonHists->GetHistPtPOI(); //for calculating integrated flow
Double_t dVPOI = 0.;
dSum = 0.;
dErrV =0.;
fCommonHistsRes->FillDifferentialFlowPtPOI(b, dv2pro, dErrdifcomb);
//calculate integrated flow for POI selection
- if (fHistPtDiff){
- Double_t dYieldPt = fHistPtDiff->GetBinContent(b);
+ if (fHistPtPOI){
+ Double_t dYieldPt = fHistPtPOI->GetBinContent(b);
dVPOI += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dErrdifcomb*dErrdifcomb;
- } else { cout<<"fHistPtDiff is NULL"<<endl; }
+ } else { cout<<"fHistPtPOI is NULL"<<endl; }
} //loop over bins b
if (dSum != 0.) {
//v as a function of Pt for RP selection
- TH1F* fHistPtInt = fCommonHists->GetHistPtInt(); //for calculating integrated flow
+ TH1F* fHistPtRP = fCommonHists->GetHistPtRP(); //for calculating integrated flow
Double_t dVRP = 0.;
Double_t dSum = 0.;
Double_t dErrV =0.;
//fill TH1D
fCommonHistsRes->FillDifferentialFlowPtRP(b, dv2pro, dErrdifcomb);
//calculate integrated flow for RP selection
- if (fHistPtInt){
- Double_t dYieldPt = fHistPtInt->GetBinContent(b);
+ if (fHistPtRP){
+ Double_t dYieldPt = fHistPtRP->GetBinContent(b);
dVRP += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dErrdifcomb*dErrdifcomb;
- } else { cout<<"fHistPtInt is NULL"<<endl; }
+ } else { cout<<"fHistPtRP is NULL"<<endl; }
} //loop over bins b
if (dSum != 0.) {
//v as a function of Pt for POI selection
- TH1F* fHistPtDiff = fCommonHists->GetHistPtDiff(); //for calculating integrated flow
+ TH1F* fHistPtPOI = fCommonHists->GetHistPtPOI(); //for calculating integrated flow
Double_t dVPOI = 0.;
dSum = 0.;
dErrV =0.;
//fill TH1D
fCommonHistsRes->FillDifferentialFlowPtPOI(b, dv2pro, dErrdifcomb);
//calculate integrated flow for POI selection
- if (fHistPtDiff){
- Double_t dYieldPt = fHistPtDiff->GetBinContent(b);
+ if (fHistPtPOI){
+ Double_t dYieldPt = fHistPtPOI->GetBinContent(b);
dVPOI += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dErrdifcomb*dErrdifcomb;
- } else { cout<<"fHistPtDiff is NULL"<<endl; }
+ } else { cout<<"fHistPtPOI is NULL"<<endl; }
} //loop over bins b
if (dSum != 0.) {
dEta = pTrack->Eta();
dPt = pTrack->Pt();
dPhi = pTrack->Phi();
- if (pTrack->UseForIntegratedFlow()) { // RP selection
+ if (pTrack->InRPSelection()) { // RP selection
dCosTermRP = cos(m*dOrder*(dPhi-dTheta));
cNumerRP = dCosTermRP*(TComplex::Exp(cExpo));
if (cNumerRP.Rho()==0) {cerr<<"WARNING: modulus of cNumerRP is zero in SecondFillFromFlowEvent"<<endl;}
if (fHist2RP[theta]) {
fHist2RP[theta]->Fill(dEta,dPt,cNumerRP); }
}
- if (pTrack->UseForDifferentialFlow()) { //POI selection
+ if (pTrack->InPOISelection()) { //POI selection
dCosTermPOI = cos(m*dOrder*(dPhi-dTheta));
cNumerPOI = dCosTermPOI*(TComplex::Exp(cExpo));
if (cNumerPOI.Rho()==0) {cerr<<"WARNING: modulus of cNumerPOI is zero in SecondFillFromFlowEvent"<<endl;}
{
AliFlowTrackSimple* pTrack = anEvent->GetTrack(i) ;
if (pTrack){
- if (pTrack->UseForIntegratedFlow()) {
+ if (pTrack->InRPSelection()) {
Double_t dPhi = pTrack->Phi();
Double_t dGIm = aR * dWgt*cos(dOrder*(dPhi - aTheta));
TComplex cGi(1., dGIm);
{
AliFlowTrackSimple* pTrack = anEvent->GetTrack(i) ;
if (pTrack){
- if (pTrack->UseForIntegratedFlow()) {
+ if (pTrack->InRPSelection()) {
Double_t dPhi = pTrack->Phi();
Double_t dCosTerm = dWgt*cos(dOrder*(dPhi - dTheta));
//GetGr0theta
Double_t dCosTerm = cos(dOrder*(dPhi-dTheta));
TComplex cCosTermComplex(1.,aR0*dCosTerm);
//RP selection
- if (pTrack->UseForIntegratedFlow()) {
+ if (pTrack->InRPSelection()) {
TComplex cNumerRP = cG*dCosTerm/cCosTermComplex; //PG Eq. 9
fHist2RP[theta]->Fill(dEta,dPt,cNumerRP);
}
//POI selection
- if (pTrack->UseForDifferentialFlow()) {
+ if (pTrack->InPOISelection()) {
TComplex cNumerPOI = cG*dCosTerm/cCosTermComplex; //PG Eq. 9
fHist2POI[theta]->Fill(dEta,dPt,cNumerPOI);
}
fHistList(NULL),
fCommonHists(NULL),
fCommonHistsRes(NULL),
- fHistProFlow(NULL),
fHistRP(NULL),
fHistProIntFlow(NULL),
fHistProDiffFlowPtRP(NULL),
fCommonHistsRes = new AliFlowCommonHistResults("AliFlowCommonHistResultsMCEP");
fHistList->Add(fCommonHistsRes);
- fHistProFlow = new TProfile("FlowPro_VPt_MCEP","FlowPro_VPt_MCEP",iNbinsPt,dPtMin,dPtMax);
- fHistProFlow->SetXTitle("P_{t}");
- fHistProFlow->SetYTitle("v_{2}");
- fHistList->Add(fHistProFlow);
-
fHistRP = new TH1F("Flow_RP_MCEP","Flow_RP_MCEP",100,0.,3.14);
fHistRP->SetXTitle("Reaction Plane Angle");
fHistRP->SetYTitle("Counts");
fHistList->Add(fHistRP);
- fHistProIntFlow = new TProfile("fHistProIntFlow","fHistProIntFlow",1,0.,1.);
+ fHistProIntFlow = new TProfile("FlowPro_V_MCEP","FlowPro_V_MCEP",1,0.,1.);
fHistProIntFlow->SetLabelSize(0.06);
(fHistProIntFlow->GetXaxis())->SetBinLabel(1,"v_{n}{2}");
fHistProIntFlow->SetYTitle("");
fHistList->Add(fHistProIntFlow);
- fHistProDiffFlowPtRP = new TProfile("fHistProDiffFlowPtRP","fHistProDiffFlowPtRP",iNbinsPt,dPtMin,dPtMax);
+ fHistProDiffFlowPtRP = new TProfile("FlowPro_VPtRP_MCEP","FlowPro_VPtRP_MCEP",iNbinsPt,dPtMin,dPtMax);
fHistProDiffFlowPtRP->SetXTitle("P_{t}");
fHistProDiffFlowPtRP->SetYTitle("");
fHistList->Add(fHistProDiffFlowPtRP);
- fHistProDiffFlowEtaRP = new TProfile("fHistProDiffFlowEtaRP","fHistProDiffFlowEtaRP",iNbinsEta,dEtaMin,dEtaMax);
+ fHistProDiffFlowEtaRP = new TProfile("FlowPro_VetaRP_MCEP","FlowPro_VetaRP_MCEP",iNbinsEta,dEtaMin,dEtaMax);
fHistProDiffFlowEtaRP->SetXTitle("#eta");
fHistProDiffFlowEtaRP->SetYTitle("");
fHistList->Add(fHistProDiffFlowEtaRP);
- fHistProDiffFlowPtPOI = new TProfile("fHistProDiffFlowPtPOI","fHistProDiffFlowPtPOI",iNbinsPt,dPtMin,dPtMax);
+ fHistProDiffFlowPtPOI = new TProfile("FlowPro_VPtPOI_MCEP","FlowPro_VPtPOI_MCEP",iNbinsPt,dPtMin,dPtMax);
fHistProDiffFlowPtPOI->SetXTitle("P_{t}");
fHistProDiffFlowPtPOI->SetYTitle("");
fHistList->Add(fHistProDiffFlowPtPOI);
- fHistProDiffFlowEtaPOI = new TProfile("fHistProDiffFlowEtaPOI","fHistProDiffFlowEtaPOI",iNbinsEta,dEtaMin,dEtaMax);
+ fHistProDiffFlowEtaPOI = new TProfile("FlowPro_VetaPOI_MCEP","FlowPro_VetaPOI_MCEP",iNbinsEta,dEtaMin,dEtaMax);
fHistProDiffFlowEtaPOI->SetXTitle("#eta");
fHistProDiffFlowEtaPOI->SetYTitle("");
fHistList->Add(fHistProDiffFlowEtaPOI);
{
AliFlowTrackSimple* pTrack = anEvent->GetTrack(i) ;
if (pTrack){
- if (pTrack->UseForIntegratedFlow()){
+ if (pTrack->InRPSelection()){
dPhi = pTrack->Phi();
- dv2 = TMath::Cos(2*(dPhi-aRP));
- dPt = pTrack->Pt();
+ dv2 = TMath::Cos(2*(dPhi-aRP));
+ dPt = pTrack->Pt();
dEta = pTrack->Eta();
//no-name int. flow (to be improved):
fHistProIntFlow->Fill(0.,dv2);
//differential flow (Eta, RP):
fHistProDiffFlowEtaRP->Fill(dEta,dv2,1.);
}
- if (pTrack->UseForDifferentialFlow()) {
+ if (pTrack->InPOISelection()) {
dPhi = pTrack->Phi();
//if (dPhi<0.) dPhi+=2*TMath::Pi();
//calculate flow v2:
- dv2 = TMath::Cos(2*(dPhi-aRP));
- dPt = pTrack->Pt();
+ dv2 = TMath::Cos(2*(dPhi-aRP));
+ dPt = pTrack->Pt();
dEta = pTrack->Eta();
//differential flow (Pt, POI):
fHistProDiffFlowPtPOI->Fill(dPt,dv2,1.);
cout<<"dV{MC} is "<<dV<<" +- "<<dErrV<<endl;
//RP:
- TH1F* fHistPtRP = fCommonHists->GetHistPtInt(); // to be improved (change "int" and "diff" to RP and POI in common control histos)
+ TH1F* fHistPtRP = fCommonHists->GetHistPtRP();
Double_t dYieldPtRP = 0.;
Double_t dVRP = 0.;
Double_t dErrVRP = 0.;
}
//POI:
- TH1F* fHistPtPOI = fCommonHists->GetHistPtDiff(); // to be improved (change "int" and "diff" to RP and POI in common control histos)
+ TH1F* fHistPtPOI = fCommonHists->GetHistPtPOI();
Double_t dYieldPtPOI = 0.;
Double_t dVPOI = 0.;
Double_t dErrVPOI = 0.;
Double_t dv2proEtaPOI = 0.;
Double_t dErrdifcombEtaPOI = 0.;
//Pt:
- if(fHistProFlow && fHistProDiffFlowPtPOI) {//to be removed (fHistProFlow)
+ if(fHistProDiffFlowPtPOI) {
for(Int_t b=1;b<iNbinsPt;b++){
- //dv2pro = fHistProFlow->GetBinContent(b);//to be removed
- //dErrdifcomb = fHistProFlow->GetBinError(b);//to be removed
dv2proPtPOI = fHistProDiffFlowPtPOI->GetBinContent(b);
dErrdifcombPtPOI = fHistProDiffFlowPtPOI->GetBinError(b);//to be improved (treatment of errors for non-Gaussian distribution needed!)
//fill TH1D
}
cout<<endl;
- cout<<".....finished"<<endl;
+ //cout<<".....finished"<<endl;
}
void WriteHistograms(TString* outputFileName);
void WriteHistograms(TString outputFileName);
void Init(); //defines variables and histograms
- void Make(AliFlowEventSimple* anEvent); //calculates variables and fills histograms
+ void Make(AliFlowEventSimple* anEvent); //calculates variables and fills histograms
void Finish(); //saves histograms
void SetDebug(Bool_t kt) { this->fDebug = kt ; }
// Output
TList* GetHistList() const { return this->fHistList ; }
AliFlowCommonHist* GetCommonHists() const { return this->fCommonHists; }
- void SetCommonHists(AliFlowCommonHist* aCommonHist)
+ void SetCommonHists(AliFlowCommonHist* aCommonHist)
{ this->fCommonHists = aCommonHist; }
- AliFlowCommonHistResults* GetCommonHistsRes() const
- { return this->fCommonHistsRes; }
+ AliFlowCommonHistResults* GetCommonHistsRes() const { return this->fCommonHistsRes; }
void SetCommonHistsRes(AliFlowCommonHistResults* aCommonHistResult)
{ this->fCommonHistsRes = aCommonHistResult; }
//histograms
- TProfile* GetHistProFlow() {return this->fHistProFlow; }
- void SetHistProFlow(TProfile* aHistProFlow)
- {this->fHistProFlow = aHistProFlow; }
TH1F* GetHistRP() {return this->fHistRP; }
void SetHistRP(TH1F* aHistRP) {this->fHistRP = aHistRP; }
- TProfile* GetHistProIntFlow() {return this->fHistProIntFlow; }
- void SetHistProIntFlow(TProfile* aHistProIntFlow) {this->fHistProIntFlow = aHistProIntFlow; }
+ TProfile* GetHistProIntFlow() {return this->fHistProIntFlow; }
+ void SetHistProIntFlow(TProfile* aHistProIntFlow)
+ {this->fHistProIntFlow = aHistProIntFlow; }
- TProfile* GetHistProDiffFlowPtRP() {return this->fHistProDiffFlowPtRP; }
- void SetHistProDiffFlowPtRP(TProfile* aHistProDiffFlowPtRP) {this->fHistProDiffFlowPtRP = aHistProDiffFlowPtRP; }
+ TProfile* GetHistProDiffFlowPtRP() {return this->fHistProDiffFlowPtRP; }
+ void SetHistProDiffFlowPtRP(TProfile* aHistProDiffFlowPtRP)
+ {this->fHistProDiffFlowPtRP = aHistProDiffFlowPtRP; }
- TProfile* GetHistProDiffFlowEtaRP() {return this->fHistProDiffFlowEtaRP; }
- void SetHistProDiffFlowEtaRP(TProfile* aHistProDiffFlowEtaRP) {this->fHistProDiffFlowEtaRP = aHistProDiffFlowEtaRP; }
+ TProfile* GetHistProDiffFlowEtaRP() {return this->fHistProDiffFlowEtaRP; }
+ void SetHistProDiffFlowEtaRP(TProfile* aHistProDiffFlowEtaRP)
+ {this->fHistProDiffFlowEtaRP = aHistProDiffFlowEtaRP; }
- TProfile* GetHistProDiffFlowPtPOI() {return this->fHistProDiffFlowPtPOI; }
- void SetHistProDiffFlowPtPOI(TProfile* aHistProDiffFlowPtPOI) {this->fHistProDiffFlowPtPOI = aHistProDiffFlowPtPOI; }
+ TProfile* GetHistProDiffFlowPtPOI() {return this->fHistProDiffFlowPtPOI; }
+ void SetHistProDiffFlowPtPOI(TProfile* aHistProDiffFlowPtPOI)
+ {this->fHistProDiffFlowPtPOI = aHistProDiffFlowPtPOI; }
- TProfile* GetHistProDiffFlowEtaPOI() {return this->fHistProDiffFlowEtaPOI; }
- void SetHistProDiffFlowEtaPOI(TProfile* aHistProDiffFlowEtaPOI) {this->fHistProDiffFlowEtaPOI = aHistProDiffFlowEtaPOI; }
+ TProfile* GetHistProDiffFlowEtaPOI() {return this->fHistProDiffFlowEtaPOI; }
+ void SetHistProDiffFlowEtaPOI(TProfile* aHistProDiffFlowEtaPOI)
+ {this->fHistProDiffFlowEtaPOI = aHistProDiffFlowEtaPOI; }
private:
AliFlowCommonHist* fCommonHists; //
AliFlowCommonHistResults* fCommonHistsRes; //
-
- TProfile* fHistProFlow; //
- TH1F* fHistRP; //
-
- TProfile* fHistProIntFlow; //profile used to calculate the integrated flow of RP particles
- TProfile* fHistProDiffFlowPtRP; //profile used to calculate the differential flow (Pt) of RP particles
- TProfile* fHistProDiffFlowEtaRP; //profile used to calculate the differential flow (Eta) of RP particles
+ TH1F* fHistRP; //reaction plane
+ TProfile* fHistProIntFlow; //profile used to calculate the integrated flow of RP particles
+ TProfile* fHistProDiffFlowPtRP; //profile used to calculate the differential flow (Pt) of RP particles
+ TProfile* fHistProDiffFlowEtaRP; //profile used to calculate the differential flow (Eta) of RP particles
TProfile* fHistProDiffFlowPtPOI; //profile used to calculate the differential flow (Pt) of POI particles
TProfile* fHistProDiffFlowEtaPOI; //profile used to calculate the differential flow (Eta) of POI particles
// running over data
Int_t nPrim = anEvent->NumberOfTracks(); // nPrim = nRP + nPOI + rest
- Int_t nRP = anEvent->GetEventNSelTracksIntFlow(); // nRP = number of particles used to determine the reaction plane
+ Int_t nRP = anEvent->GetEventNSelTracksRP(); // nRP = number of particles used to determine the reaction plane
Int_t n = 2; // int flow harmonic (to be improved)
//needed for debugging: (to be improved - add explanation here)
- //Bool_t bNestedLoops=kTRUE;
+ //Bool_t bNestedLoops=kFALSE;
//if(!(bNestedLoops)||(nPrim>0&&nPrim<12))
//{
//if(nPrim>0&&nPrim<10)
fTrack=anEvent->GetTrack(i);
if(fTrack)
{
- if(fTrack->UseForIntegratedFlow())
+ if(fTrack->InRPSelection())
{
dPhi = fTrack->Phi();
dPt = fTrack->Pt();
}
}
- } // end of if (pTrack->UseForIntegratedFlow())
+ } // end of if (pTrack->InRPSelection())
} // end of if (pTrack)
else {cerr << "no particle!!!"<<endl;}
} // loop over particles
fTrack=anEvent->GetTrack(i);
if(fTrack)
{
- if(fTrack->UseForDifferentialFlow()) // checking if particle is POI
+ if(fTrack->InPOISelection()) // checking if particle is POI
{
- if(fTrack->UseForIntegratedFlow()) // checking if particle is both POI and RP
+ if(fTrack->InRPSelection()) // checking if particle is both POI and RP
{
// get azimuthal angle, momentum and pseudorapidity of a particle:
dPhi = fTrack->Phi();
sumOfW2upTomPrimePrimeEta->Fill(dEta,pow(wPhi*wPt*wEta,2),1.);
sumOfW3upTomPrimePrimeEta->Fill(dEta,pow(wPhi*wPt*wEta,3),1.);
- }else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP
+ }else if(!(fTrack->InRPSelection())) // checking if particles is POI and not RP
{
// get azimuthal angle, momentum and pseudorapidity of a particle:
dPhi = fTrack->Phi();
etaReq2nPrime->Fill(dEta,cos(2.*n*dPhi),1.);
etaImq2nPrime->Fill(dEta,sin(2.*n*dPhi),1.);
- } // end of else if(!(fTrack->UseForIntegratedFlow())) // checking if particles is POI and not RP
- } // end of if(fTrack->UseForDifferentialFlow()) // checking if particle is POI
+ } // end of else if(!(fTrack->InRPSelection())) // checking if particles is POI and not RP
+ } // end of if(fTrack->InPOISelection()) // checking if particle is POI
- if(fTrack->UseForIntegratedFlow()) // checking if particles is only RP:
+ if(fTrack->InRPSelection()) // checking if particles is only RP:
{
dPhi = fTrack->Phi();
dPt = fTrack->Pt();
sumOfW1upTomEta->Fill(dEta,wPhi*wPt*wEta,1.);
sumOfW2upTomEta->Fill(dEta,pow(wPhi*wPt*wEta,2),1.);
sumOfW3upTomEta->Fill(dEta,pow(wPhi*wPt*wEta,3),1.);
- } // end of if(fTrack->UseForIntegratedFlow()) // checking if particles is only RP:
+ } // end of if(fTrack->InRPSelection()) // checking if particles is only RP:
} // end of if(fTrack}
} // end of for(Int_t i=0;i<nPrim;i++)
dM2pp1PtPOI=dS12mPrimePrimePtPOI*dSnk[0][0]-dS13mPrimePrimePtPOI;
dM0pp3PtPOI=mPrimePrimePtPOI*dSnk[0][2]-dS13mPrimePrimePtPOI;
dM0pp12PtPOI=mPrimePrimePtPOI*dSnk[0][0]*dSnk[0][1]-dM2pp1PtPOI-dM1pp2PtPOI-dM0pp3PtPOI-dS13mPrimePrimePtPOI;
- dM0pp111PtPOI=mPrimePrimePtPOI*dSnk[2][0]-3.*dM1pp11PtPOI-3.*dM0pp12PtPOI-3.*dM2pp1PtPOI-3.*dM1pp2PtPOI-dM0pp3PtPOI-dS13mPrimePrimePtPOI;
+
+ // recursive formula (OK)
+ // dM0pp111PtPOI=mPrimePrimePtPOI*dSnk[2][0]-3.*dM1pp11PtPOI-3.*dM0pp12PtPOI-3.*dM2pp1PtPOI-3.*dM1pp2PtPOI-dM0pp3PtPOI-dS13mPrimePrimePtPOI;
+ // direct formula (OK)
+ dM0pp111PtPOI = mPrimePrimePtPOI*(dSnk[2][0]-3.*dSnk[0][0]*dSnk[0][1]+2.*dSnk[0][2])-3.*(dS11mPrimePrimePtPOI*(dSnk[1][0]-dSnk[0][1])+2.*(dS13mPrimePrimePtPOI-dS12mPrimePrimePtPOI*dSnk[0][0]));
+
// q':
qxPrimePtPOI = (ptReq1nPrime->GetBinContent(bin))*(ptReq1nPrime->GetBinEntries(bin));
qyPrimePtPOI = (ptImq1nPrime->GetBinContent(bin))*(ptImq1nPrime->GetBinEntries(bin));
}
*/
- // 4-p RP and POI in all combinations (full, partial and no overlap)
+ // recursive formula for 4-p RP and POI in all combinations (full, partial and no overlap) (OK)
Double_t four1npp1n1n1nW1W1W1PtPOI=0.;
if(dM0pp111PtPOI+dM0p111PtPOI)
{
- four1npp1n1n1nW1W1W1PtPOI = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePrimePtPOI*dQnkX[0][0]+qyPrimePrimePtPOI*dQnkY[0][0])-2.*dM1pp11PtPOI*two1n1nW1ppW1W1PtPOI-dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI-dM0pp12PtPOI*three1npp1n2nW0ppW1W2PtPOI-2.*dM0pp12PtPOI*two1npp1nW1W2PtPOI-3.*dM2pp1PtPOI*two1npp1nW2ppW1PtPOI-2.*dM1pp2PtPOI-dM1pp2PtPOI*two2npp2nW1ppW2PtPOI-dM0pp3PtPOI*two1npp1nW3PtPOI-dS13mPrimePrimePtPOI+(pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])-2.*dSnk[0][1]* (qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])+2.*(qxPrimePtPOI*dQnkX[0][2]+qyPrimePtPOI*dQnkY[0][2])-qxPrimePtPOI*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOI*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111PtPOI+dM0p111PtPOI);
+ four1npp1n1n1nW1W1W1PtPOI = ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePrimePtPOI*dQnkX[0][0]+qyPrimePrimePtPOI*dQnkY[0][0])-2.*dM1pp11PtPOI*two1n1nW1ppW1W1PtPOI-dM1pp11PtPOI*three2npp1n1nW1ppW1W1PtPOI-dM0pp12PtPOI*three1npp1n2nW0ppW1W2PtPOI-2.*dM0pp12PtPOI*two1npp1nW1W2PtPOI-3.*dM2pp1PtPOI*two1npp1nW2ppW1PtPOI-2.*dM1pp2PtPOI-dM1pp2PtPOI*two2npp2nW1ppW2PtPOI-dM0pp3PtPOI*two1npp1nW3PtPOI-dS13mPrimePrimePtPOI+(pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])-2.*dSnk[0][1]* (qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])+2.*(qxPrimePtPOI*dQnkX[0][2]+qyPrimePtPOI*dQnkY[0][2])-qxPrimePtPOI*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])+qyPrimePtPOI*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1]))/(dM0pp111PtPOI+dM0p111PtPOI);
+
+
+
+ Double_t four1npp1n1n1nW1W1W1PtPOIb =
+ ((pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePrimePtPOI*dQnkX[0][0]+qyPrimePrimePtPOI*dQnkY[0][0])
+ - q2xW1PrimePrimePtPOI*(dQnkX[0][0]*dQnkX[0][0]-dQnkY[0][0]*dQnkY[0][0])+2.*q2yW1PrimePrimePtPOI*dQnkX[0][0]*dQnkY[0][0]
+ - qxPrimePrimePtPOI*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePrimePtPOI*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])
+ - 2.*dSnk[0][1]*(qxPrimePrimePtPOI*dQnkX[0][0]+qyPrimePrimePtPOI*dQnkY[0][0])
+ - 2.*(pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*dS11mPrimePrimePtPOI
+ + 7.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])
+ - 1.*(qxW2PrimePrimePtPOI*dQnkX[0][0]+qyW2PrimePrimePtPOI*dQnkY[0][0])
+ + 1.*(q2xW1PrimePrimePtPOI*dQnkX[1][1]+q2yW1PrimePrimePtPOI*dQnkY[1][1])
+ + 2.*(qxPrimePrimePtPOI*dQnkX[0][2]+qyPrimePrimePtPOI*dQnkY[0][2])
+ + 2.*dS11mPrimePrimePtPOI*dSnk[0][1]
+ - 6.*dS13mPrimePrimePtPOI
+ + (pow(dQnkX[0][0],2.)+pow(dQnkY[0][0],2.))*(qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])
+ - 2.*dSnk[0][1]*(qxPrimePtPOI*dQnkX[0][0]+qyPrimePtPOI*dQnkY[0][0])
+ - qxPrimePtPOI*(dQnkX[0][0]*dQnkX[1][1]+dQnkY[0][0]*dQnkY[1][1])-qyPrimePtPOI*(dQnkY[0][0]*dQnkX[1][1]-dQnkX[0][0]*dQnkY[1][1])
+ + 2.*(qxPrimePrimePtPOI*dQnkX[0][2]+qyPrimePrimePtPOI*dQnkY[0][2]))/(dM0pp111PtPOI+dM0p111PtPOI);
+
+
+
+
+
+
+
+ cout<<endl;
+ cout<<"ab"<<endl;
+ cout<<four1npp1n1n1nW1W1W1PtPOI<<endl;
+ cout<<four1npp1n1n1nW1W1W1PtPOIb<<endl;
+ cout<<endl;
f4WPerPtBin1n1n1n1nPOI->Fill(fPtMin+(bin-1)*dBinWidthPt,four1npp1n1n1nW1W1W1PtPOI,dM0pp111PtPOI+dM0p111PtPOI);
} // end of if(dM0pp111PtPOI+dM0p111PtPOI)
+ Bool_t nestedLoops = kFALSE;
-
- /*
-
- //if(bNestedLoops)to be improved
- //{ to be improved
+
+ if(nestedLoops) // to be improved
+ {
//--------------------------------------------------------------------------------------------------------------------------------
//
// **********************
//..........................................................................
- Double_t phi1=0., phi2=0., phi3=0., phi4=0., phi5=0., phi6=0., phi7=0., phi8=0.;
- Double_t wPhi1=1., wPhi2=1., wPhi3=1., wPhi4=1., wPhi5=1., wPhi6=1., wPhi7=1., wPhi8=1.;
+ Double_t phi1=0., phi2=0., phi3=0., phi4=0.;
+ // phi5=0., phi6=0., phi7=0., phi8=0.;
+ Double_t wPhi1=1., wPhi2=1., wPhi3=1., wPhi4=1.;
+ // wPhi5=1., wPhi6=1., wPhi7=1., wPhi8=1.;
-
+ /*
for(Int_t i1=0;i1<dMult;i1++)
{
}
}
}
-
+ */
-
+ /*
//<5>_{2n,n,n,n,n}, //<5>_{2n,2n|2n,n,n}, <5>_{3n,n|2n,n,n} and <5>_{4n|n,n,n,n}
for(Int_t i1=0;i1<dMult;i1++)
//101st bin: <2'>_{n|n}
- /*
+
//<2'>_{n|n}
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi())));
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi())));
//cout<<"1st = "<<i1<<" "<< (anEvent->GetTrack(i1))->Eta() << " " << (anEvent->GetTrack(i1))->Pt()<<endl;
}//end of for(Int_t i2=0;i2<nPrim;i2++)
}//end of for(Int_t i1=0;i1<nPrim;i1++)
- */
+
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi())));
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi())));
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi())));
//fill the fDirectCorrelations:
*/
- /*
+
//<4'>_{n,n|n,n}
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
tempCounter++;
phi1=fTrack->Phi();
if(phiWeights) wPhi1 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi1*nBinsPhi/TMath::TwoPi())));
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
if(phiWeights) wPhi2 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi2*nBinsPhi/TMath::TwoPi())));
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
if(phiWeights) wPhi3 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi3*nBinsPhi/TMath::TwoPi())));
for(Int_t i4=0;i4<nPrim;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi4=fTrack->Phi();
if(phiWeights) wPhi4 = phiWeights->GetBinContent(1+(Int_t)(TMath::Floor(phi4*nBinsPhi/TMath::TwoPi())));
//fill the fDirectCorrelations:
}//end of for(Int_t i2=0;i2<nPrim;i2++)
}//end of for(Int_t i1=0;i1<nPrim;i1++)
- */
+
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
for(Int_t i4=0;i4<nPrim;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi4=fTrack->Phi();//
for(Int_t i5=0;i5<nPrim;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi5=fTrack->Phi();
//fill the fDirectCorrelations:if(bNestedLoops)
fDirectCorrelations->Fill(55.,cos(2.*n*phi1+n*phi2-n*phi3-n*phi4-n*phi5),1);//<5'>_{2n,n|n,n,n}
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
for(Int_t i4=0;i4<nPrim;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi4=fTrack->Phi();
for(Int_t i5=0;i5<nPrim;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi5=fTrack->Phi();
for(Int_t i6=0;i6<nPrim;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi6=fTrack->Phi();
//fill the fDirectCorrelations:
fDirectCorrelations->Fill(60.,cos(n*(phi1+phi2+phi3-phi4-phi5-phi6)),1);//<6'>_{n,n,n|n,n,n}
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
for(Int_t i4=0;i4<nPrim;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi4=fTrack->Phi();
for(Int_t i5=0;i5<nPrim;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi5=fTrack->Phi();
for(Int_t i6=0;i6<nPrim;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi6=fTrack->Phi();
for(Int_t i7=0;i7<nPrim;i7++)
{
if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;
fTrack=anEvent->GetTrack(i7);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi7=fTrack->Phi();
//fill the fDirectCorrelations:
fDirectCorrelations->Fill(65.,cos(2.*n*phi1+n*phi2+n*phi3-n*phi4-n*phi5-n*phi6-n*phi7),1);//<7'>_{2n,n,n|n,n,n,n}
for(Int_t i1=0;i1<nPrim;i1++)
{
fTrack=anEvent->GetTrack(i1);
- if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->UseForDifferentialFlow())))continue;//POI condition
+ if(!((fTrack->Pt()>=0.5&&fTrack->Pt()<0.6)&&(fTrack->InPOISelection())))continue;//POI condition
phi1=fTrack->Phi();
for(Int_t i2=0;i2<nPrim;i2++)
{
if(i2==i1)continue;
fTrack=anEvent->GetTrack(i2);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi2=fTrack->Phi();
for(Int_t i3=0;i3<nPrim;i3++)
{
if(i3==i1||i3==i2)continue;
fTrack=anEvent->GetTrack(i3);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi3=fTrack->Phi();
for(Int_t i4=0;i4<nPrim;i4++)
{
if(i4==i1||i4==i2||i4==i3)continue;
fTrack=anEvent->GetTrack(i4);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi4=fTrack->Phi();
for(Int_t i5=0;i5<nPrim;i5++)
{
if(i5==i1||i5==i2||i5==i3||i5==i4)continue;
fTrack=anEvent->GetTrack(i5);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi5=fTrack->Phi();
for(Int_t i6=0;i6<nPrim;i6++)
{
if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;
fTrack=anEvent->GetTrack(i6);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi6=fTrack->Phi();
for(Int_t i7=0;i7<nPrim;i7++)
{
if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;
fTrack=anEvent->GetTrack(i7);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi7=fTrack->Phi();
for(Int_t i8=0;i8<nPrim;i8++)
{
if(i8==i1||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue;
fTrack=anEvent->GetTrack(i8);
- if(!(fTrack->UseForIntegratedFlow()))continue;//RP condition
+ if(!(fTrack->InRPSelection()))continue;//RP condition
phi8=fTrack->Phi();
//fill the fDirectCorrelations:
fDirectCorrelations->Fill(70.,cos(n*(phi1+phi2+phi3+phi4-phi5-phi6-phi7-phi8)),1);//<8'>_{n,n,n,n|n,n,n,n}
-
+ }// end of if (nestedLoops)
//---------------------------------------------------------------------------------------------------------
// avarage multiplicity
- Double_t AvMPOI = (fCommonHists2nd->GetHistMultDiff())->GetMean(); // to be improved
- Double_t AvMRP = (fCommonHists2nd->GetHistMultInt())->GetMean(); // to be improved
+ Double_t AvMPOI = (fCommonHists2nd->GetHistMultPOI())->GetMean(); // to be improved
+ Double_t AvMRP = (fCommonHists2nd->GetHistMultRP())->GetMean(); // to be improved
// number of events
- Double_t nEvtsPOI = (fCommonHists2nd->GetHistMultDiff())->GetEntries(); // to be improved
- Double_t nEvtsRP = (fCommonHists2nd->GetHistMultInt())->GetEntries(); // to be improved
+ Double_t nEvtsPOI = (fCommonHists2nd->GetHistMultPOI())->GetEntries(); // to be improved
+ Double_t nEvtsRP = (fCommonHists2nd->GetHistMultRP())->GetEntries(); // to be improved
//---------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------
// -------------------------------------------------------------------
// integrated flow (weighted, POI, Pt, 2nd order):
dDiffvn2ndPOIW=(fCommonHistsResults2nd->GetHistDiffFlowPtPOI())->GetBinContent(bb);
- dYield2ndPOIW=(fCommonHists2nd->GetHistPtDiff())->GetBinContent(bb);
+ dYield2ndPOIW=(fCommonHists2nd->GetHistPtPOI())->GetBinContent(bb);
dVn2ndPOIW+=dDiffvn2ndPOIW*dYield2ndPOIW;
dSum2ndPOIW+=dYield2ndPOIW;
// -------------------------------------------------------------------
// -------------------------------------------------------------------
//integrated flow (POI, Pt, 4th order):
dDiffvn4thPOIW=(fCommonHistsResults4th->GetHistDiffFlowPtPOI())->GetBinContent(bb);
- dYield4thPOIW=(fCommonHists4th->GetHistPtDiff())->GetBinContent(bb);
+ dYield4thPOIW=(fCommonHists4th->GetHistPtPOI())->GetBinContent(bb);
dVn4thPOIW+=dDiffvn4thPOIW*dYield4thPOIW;
dSum4thPOIW+=dYield4thPOIW;
// -------------------------------------------------------------------
// -------------------------------------------------------------------
// integrated flow (weighted, RP, Pt, 2nd order):
dDiffvn2ndRPW=(fCommonHistsResults2nd->GetHistDiffFlowPtRP())->GetBinContent(bb);
- dYield2ndRPW=(fCommonHists2nd->GetHistPtInt())->GetBinContent(bb);
+ dYield2ndRPW=(fCommonHists2nd->GetHistPtRP())->GetBinContent(bb);
dVn2ndRPW+=dDiffvn2ndRPW*dYield2ndRPW;
dSum2ndRPW+=dYield2ndRPW;
// -------------------------------------------------------------------
// -------------------------------------------------------------------
//integrated flow (RP, Pt, 4th order):
dDiffvn4thRPW=(fCommonHistsResults4th->GetHistDiffFlowPtRP())->GetBinContent(bb);
- dYield4thRPW=(fCommonHists4th->GetHistPtInt())->GetBinContent(bb);
+ dYield4thRPW=(fCommonHists4th->GetHistPtRP())->GetBinContent(bb);
dVn4thRPW+=dDiffvn4thRPW*dYield4thRPW;
dSum4thRPW+=dYield4thRPW;
// -------------------------------------------------------------------
+
+
+
+
+
+
+
+ Bool_t nestedLoops = kFALSE;
+ if(nestedLoops)
+ {
+ //needed for direct correlations (obtained from nested loops)
+ cout<<endl;
+ cout<<endl;
+ cout<<" **** cross-checking the formulas ****"<<endl;
+ cout<<" **** for integrated flow ****"<<endl;
+ cout<<"(selected only events for which 0 < M < 12 "<<endl;
+ cout<<" from dataset in /data/alice2/ante/AOD) "<<endl;
+
+ cout<<endl;
+ //cout<<" nEvts = "<<nEvts<<", AvM = "<<AvM<<endl;
+ cout<<endl;
+ cout<<"<w1 w2 cos(n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(1)<<endl;
+ cout<<"<w1 w2 cos(n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(1)<<endl;
+ cout<<endl;
+ cout<<"<w1^2 w2^2 cos(2n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(2)<<endl;
+ cout<<"<w1^2 w2^2 cos(2n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(2)<<endl;
+ cout<<endl;
+ cout<<"<w1^3 w2^3 cos(3n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(3)<<endl;
+ cout<<"<w1^3 w2^3 cos(3n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(3)<<endl;
+ cout<<endl;
+ cout<<"<w1^4 w2^4 cos(4n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(4)<<endl;
+ cout<<"<w1^4 w2^4 cos(4n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(4)<<endl;
+ cout<<endl;
+ cout<<"<w1^3 w2 cos(n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(5)<<endl;
+ cout<<"<w1^3 w2 cos(n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(5)<<endl;
+ cout<<endl;
+ cout<<"<w1 w2 w3^2 cos(n*(phi1-phi2))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(6)<<endl;
+ cout<<"<w1 w2 w3^2 cos(n*(phi1-phi2))> from nested loops = "<<fDirectCorrelations->GetBinContent(6)<<endl;
+ cout<<endl;
+ cout<<"<w1^2 w2 w3 cos(n*(2phi1-phi2-phi3))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(11)<<endl;
+ cout<<"<w1^2 w2 w3 cos(n*(2phi1-phi2-phi3))> from nested loops = "<<fDirectCorrelations->GetBinContent(11)<<endl;
+ cout<<endl;
+
+ cout<<"<w1 w2 w3 w4 cos(n*(phi1+phi2-phi3-phi4))> from Q-vectors = "<<fWeightedQCorrelations->GetBinContent(21)<<endl;
+ cout<<"<w1 w2 w3 w4 cos(n*(phi1+phi2-phi3-phi4))> from nested loops = "<<fDirectCorrelations->GetBinContent(21)<<endl;
+ cout<<endl;;
+
+
/*
+ cout<<"<3>_{4n,2n,2n} from Q-vectors = "<<fQCorrelations->GetBinContent(8)<<endl;
+ cout<<"<3>_{4n,2n,2n} from nested loops = "<<fDirectCorrelations->GetBinContent(8)<<endl;
+ cout<<endl;
+ cout<<"<3>_{4n,3n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(9)<<endl;
+ cout<<"<3>_{4n,3n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(9)<<endl;
+ cout<<endl;
+
+ cout<<"<4>_{2n,n|2n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(12)<<endl;
+ cout<<"<4>_{2n,n|2n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(12)<<endl;
+ cout<<endl;
+ cout<<"<4>_{2n,2n|2n,2n} from Q-vectors = "<<fQCorrelations->GetBinContent(13)<<endl;
+ cout<<"<4>_{2n,2n|2n,2n} from nested loops = "<<fDirectCorrelations->GetBinContent(13)<<endl;
+ cout<<endl;
+ cout<<"<4>_{3n|n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(14)<<endl;
+ cout<<"<4>_{3n|n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(14)<<endl;
+ cout<<endl;
+ cout<<"<4>_{3n,n|3n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(15)<<endl;
+ cout<<"<4>_{3n,n|3n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(15)<<endl;
+ cout<<endl;
+ cout<<"<4>_{3n,n|2n,2n} from Q-vectors = "<<fQCorrelations->GetBinContent(16)<<endl;
+ cout<<"<4>_{3n,n|2n,2n} from nested loops = "<<fDirectCorrelations->GetBinContent(16)<<endl;
+ cout<<endl;
+ cout<<"<4>_{4n|2n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(17)<<endl;
+ cout<<"<4>_{4n|2n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(17)<<endl;
+ cout<<endl;
+ cout<<"<5>_{2n,n|n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(19)<<endl;
+ cout<<"<5>_{2n,n|n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(19)<<endl;
+ cout<<endl;
+ cout<<"<5>_{2n,2n|2n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(20)<<endl;
+ cout<<"<5>_{2n,2n|2n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(20)<<endl;
+ cout<<endl;
+ cout<<"<5>_{3n,n|2n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(21)<<endl;
+ cout<<"<5>_{3n,n|2n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(21)<<endl;
+ cout<<endl;
+ cout<<"<5>_{4n|n,n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(22)<<endl;
+ cout<<"<5>_{4n|n,n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(22)<<endl;
+ cout<<endl;
+ cout<<"<6>_{n,n,n|n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(24)<<endl;
+ cout<<"<6>_{n,n,n|n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(24)<<endl;
+ cout<<endl;
+ cout<<"<6>_{2n,n,n|2n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(25)<<endl;
+ cout<<"<6>_{2n,n,n|2n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(25)<<endl;
+ cout<<endl;
+ cout<<"<6>_{2n,2n|n,n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(26)<<endl;
+ cout<<"<6>_{2n,2n|n,n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(26)<<endl;
+ cout<<endl;
+ cout<<"<6>_{3n,n|n,n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(27)<<endl;
+ cout<<"<6>_{3n,n|n,n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(27)<<endl;
+ cout<<endl;
+ cout<<"<7>_{2n,n,n|n,n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(29)<<endl;
+ cout<<"<7>_{2n,n,n|n,n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(29)<<endl;
+ cout<<endl;
+ cout<<"<8>_{n,n,n,n|n,n,n,n} from Q-vectors = "<<fQCorrelations->GetBinContent(31)<<endl;
+ cout<<"<8>_{n,n,n,n|n,n,n,n} from nested loops = "<<fDirectCorrelations->GetBinContent(31)<<endl;
+ cout<<endl;
+
+ */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
cout<<"0.5 < Pt < 0.6 GeV"<<endl;
cout<<endl;
cout<<"<w2 cos(n(psi1-phi2))> from Q-vectors = "<<f2WPerPtBin1n1nPOI->GetBinContent(6)<<endl;
cout<<"<w2 w3 w4 cos(n(psi1+phi2-phi3-phi4))> from nested loops = "<<fDirectCorrelations->GetBinContent(121)<<endl;
cout<<endl;
+ }//end of if(nestedLoops)
- */
- /*
-
-
+
+ /*
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
// !!!! to be removed !!!!
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
- */
+ */
}
Double_t dPt = pTrack->Pt();
Double_t dEta = pTrack->Eta();
//fill the profile histograms
- if (pTrack->UseForIntegratedFlow()) {
+ if (pTrack->InRPSelection()) {
fHistProUQetaRP -> Fill(dEta,dUQ);
fHistProUQPtRP -> Fill(dPt,dUQ);
}
- if (pTrack->UseForDifferentialFlow()) {
+ if (pTrack->InPOISelection()) {
fHistProUQetaPOI -> Fill(dEta,dUQ);
fHistProUQPtPOI -> Fill(dPt,dUQ);
}
Double_t dQaQbSqrt = TMath::Sqrt(dQaQbAv);
if (dMaMb>0.) { dQaQbSqrt *= dMmin1/(TMath::Sqrt(dMaMb)); }
else { dQaQbSqrt = 0.; }
- cout<<"dMmin1/(TMath::Sqrt(dMaMb)) = "<<dMmin1/(TMath::Sqrt(dMaMb))<<endl; //TEST
- cout<<"dQaQbSqrt = "<<dQaQbSqrt<<endl; //TEST
Double_t dQaQbSqrtErr = (dQaQbSqrt/2)*(dQaQbErr/dQaQbAv);
Double_t dQaQbSqrtErrRel = 0.;
if (dQaQbSqrt!=0.) {dQaQbSqrtErr/dQaQbSqrt; }
} //loop over bins b
//v as a function of Pt for RP selection
- TH1F* fHistPtInt = fCommonHists->GetHistPtInt(); //for calculating integrated flow
+ TH1F* fHistPtRP = fCommonHists->GetHistPtRP(); //for calculating integrated flow
Double_t dVRP = 0.;
Double_t dSum = 0.;
Double_t dErrV =0.;
//fill TH1D
fCommonHistsRes->FillDifferentialFlowPtRP(b, dv2pro, dv2err);
//calculate integrated flow for RP selection
- if (fHistPtInt){
- Double_t dYieldPt = fHistPtInt->GetBinContent(b);
+ if (fHistPtRP){
+ Double_t dYieldPt = fHistPtRP->GetBinContent(b);
dVRP += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dv2err*dv2err;
- } else { cout<<"fHistPtDiff is NULL"<<endl; }
+ } else { cout<<"fHistPtRP is NULL"<<endl; }
} //loop over bins b
if (dSum != 0.) {
cout<<"dV(RP) = "<<dVRP<<" +- "<<dErrV<<endl;
//v as a function of Pt for POI selection
- TH1F* fHistPtDiff = fCommonHists->GetHistPtDiff(); //for calculating integrated flow
+ TH1F* fHistPtPOI = fCommonHists->GetHistPtPOI(); //for calculating integrated flow
Double_t dVPOI = 0.;
dSum = 0.;
dErrV =0.;
fCommonHistsRes->FillDifferentialFlowPtPOI(b, dv2pro, dv2err);
//calculate integrated flow for POI selection
- if (fHistPtDiff){
- Double_t dYieldPt = fHistPtDiff->GetBinContent(b);
+ if (fHistPtPOI){
+ Double_t dYieldPt = fHistPtPOI->GetBinContent(b);
dVPOI += dv2pro*dYieldPt;
dSum +=dYieldPt;
dErrV += dYieldPt*dYieldPt*dv2err*dv2err;
- } else { cout<<"fHistPtDiff is NULL"<<endl; }
+ } else { cout<<"fHistPtPOI is NULL"<<endl; }
} //loop over bins b
if (dSum != 0.) {
AliFlowCommonHist::AliFlowCommonHist():TNamed(),
fHistMultOrig(NULL),
- fHistMultInt(NULL),
- fHistMultDiff(NULL),
- fHistPtInt(NULL),
- fHistPtDiff(NULL),
- fHistPhiInt(NULL),
- fHistPhiDiff(NULL),
- fHistEtaInt(NULL),
- fHistEtaDiff(NULL),
+ fHistMultRP(NULL),
+ fHistMultPOI(NULL),
+ fHistPtRP(NULL),
+ fHistPtPOI(NULL),
+ fHistPhiRP(NULL),
+ fHistPhiPOI(NULL),
+ fHistEtaRP(NULL),
+ fHistEtaPOI(NULL),
fHistProMeanPtperBin(NULL),
fHistQ(NULL),
fHistList(NULL)
AliFlowCommonHist::AliFlowCommonHist(const AliFlowCommonHist& a):
TNamed(),
fHistMultOrig(new TH1F(*a.fHistMultOrig)),
- fHistMultInt(new TH1F(*a.fHistMultInt)),
- fHistMultDiff(new TH1F(*a.fHistMultDiff)),
- fHistPtInt(new TH1F(*a.fHistPtInt)),
- fHistPtDiff(new TH1F(*a.fHistPtDiff)),
- fHistPhiInt(new TH1F(*a.fHistPhiInt)),
- fHistPhiDiff(new TH1F(*a.fHistPhiDiff)),
- fHistEtaInt(new TH1F(*a.fHistEtaInt)),
- fHistEtaDiff(new TH1F(*a.fHistEtaDiff)),
+ fHistMultRP(new TH1F(*a.fHistMultRP)),
+ fHistMultPOI(new TH1F(*a.fHistMultPOI)),
+ fHistPtRP(new TH1F(*a.fHistPtRP)),
+ fHistPtPOI(new TH1F(*a.fHistPtPOI)),
+ fHistPhiRP(new TH1F(*a.fHistPhiRP)),
+ fHistPhiPOI(new TH1F(*a.fHistPhiPOI)),
+ fHistEtaRP(new TH1F(*a.fHistEtaRP)),
+ fHistEtaPOI(new TH1F(*a.fHistEtaPOI)),
fHistProMeanPtperBin(new TProfile(*a.fHistProMeanPtperBin)),
fHistQ(new TH1F(*a.fHistQ)),
fHistList(NULL)
fHistList = new TList();
fHistList-> Add(fHistMultOrig);
- fHistList-> Add(fHistMultInt);
- fHistList-> Add(fHistMultDiff);
- fHistList-> Add(fHistPtInt);
- fHistList-> Add(fHistPtDiff);
- fHistList-> Add(fHistPhiInt);
- fHistList-> Add(fHistPhiDiff);
- fHistList-> Add(fHistEtaInt);
- fHistList-> Add(fHistEtaDiff);
+ fHistList-> Add(fHistMultRP);
+ fHistList-> Add(fHistMultPOI);
+ fHistList-> Add(fHistPtRP);
+ fHistList-> Add(fHistPtPOI);
+ fHistList-> Add(fHistPhiRP);
+ fHistList-> Add(fHistPhiPOI);
+ fHistList-> Add(fHistEtaRP);
+ fHistList-> Add(fHistEtaPOI);
fHistList-> Add(fHistProMeanPtperBin);
fHistList-> Add(fHistQ);
// TListIter next = TListIter(a.fHistList);
AliFlowCommonHist::AliFlowCommonHist(const char *anInput,const char *title):TNamed(anInput,title),
fHistMultOrig(NULL),
- fHistMultInt(NULL),
- fHistMultDiff(NULL),
- fHistPtInt(NULL),
- fHistPtDiff(NULL),
- fHistPhiInt(NULL),
- fHistPhiDiff(NULL),
- fHistEtaInt(NULL),
- fHistEtaDiff(NULL),
+ fHistMultRP(NULL),
+ fHistMultPOI(NULL),
+ fHistPtRP(NULL),
+ fHistPtPOI(NULL),
+ fHistPhiRP(NULL),
+ fHistPhiPOI(NULL),
+ fHistEtaRP(NULL),
+ fHistEtaPOI(NULL),
fHistProMeanPtperBin(NULL),
fHistQ(NULL),
fHistList(NULL)
fHistMultOrig ->SetXTitle("Original Multiplicity");
fHistMultOrig ->SetYTitle("Counts");
- sName = "Control_Flow_MultInt_";
+ sName = "Control_Flow_MultRP_";
sName +=anInput;
- fHistMultInt = new TH1F(sName.Data(), sName.Data(),iNbinsMult, dMultMin, dMultMax);
- fHistMultInt ->SetXTitle("Multiplicity for integrated flow");
- fHistMultInt ->SetYTitle("Counts");
+ fHistMultRP = new TH1F(sName.Data(), sName.Data(),iNbinsMult, dMultMin, dMultMax);
+ fHistMultRP ->SetXTitle("Multiplicity for RP selection");
+ fHistMultRP ->SetYTitle("Counts");
- sName = "Control_Flow_MultDiff_";
+ sName = "Control_Flow_MultPOI_";
sName +=anInput;
- fHistMultDiff = new TH1F(sName.Data(), sName.Data(),iNbinsMult, dMultMin, dMultMax);
- fHistMultDiff ->SetXTitle("Multiplicity for differential flow");
- fHistMultDiff ->SetYTitle("Counts");
+ fHistMultPOI = new TH1F(sName.Data(), sName.Data(),iNbinsMult, dMultMin, dMultMax);
+ fHistMultPOI ->SetXTitle("Multiplicity for POI selection");
+ fHistMultPOI ->SetYTitle("Counts");
//Pt
- sName = "Control_Flow_PtInt_";
+ sName = "Control_Flow_PtRP_";
sName +=anInput;
- fHistPtInt = new TH1F(sName.Data(), sName.Data(),iNbinsPt, dPtMin, dPtMax);
- fHistPtInt ->SetXTitle("P_{t} (GeV/c) for integrated flow");
- fHistPtInt ->SetYTitle("Counts");
+ fHistPtRP = new TH1F(sName.Data(), sName.Data(),iNbinsPt, dPtMin, dPtMax);
+ fHistPtRP ->SetXTitle("P_{t} (GeV/c) for RP selection");
+ fHistPtRP ->SetYTitle("Counts");
- sName = "Control_Flow_PtDiff_";
+ sName = "Control_Flow_PtPOI_";
sName +=anInput;
- fHistPtDiff = new TH1F(sName.Data(), sName.Data(),iNbinsPt, dPtMin, dPtMax);
+ fHistPtPOI = new TH1F(sName.Data(), sName.Data(),iNbinsPt, dPtMin, dPtMax);
//binning has to be the same as for fHistProVPt! use to get Nprime!
- fHistPtDiff ->SetXTitle("P_{t} (GeV/c) for differential flow");
- fHistPtDiff ->SetYTitle("Counts");
+ fHistPtPOI ->SetXTitle("P_{t} (GeV/c) for POI selection");
+ fHistPtPOI ->SetYTitle("Counts");
//Phi
- sName = "Control_Flow_PhiInt_";
+ sName = "Control_Flow_PhiRP_";
sName +=anInput;
- fHistPhiInt = new TH1F(sName.Data(), sName.Data(),iNbinsPhi, dPhiMin, dPhiMax);
- fHistPhiInt ->SetXTitle("#phi for integrated flow");
- fHistPhiInt ->SetYTitle("Counts");
+ fHistPhiRP = new TH1F(sName.Data(), sName.Data(),iNbinsPhi, dPhiMin, dPhiMax);
+ fHistPhiRP ->SetXTitle("#phi for RP selection");
+ fHistPhiRP ->SetYTitle("Counts");
- sName = "Control_Flow_PhiDiff_";
+ sName = "Control_Flow_PhiPOI_";
sName +=anInput;
- fHistPhiDiff = new TH1F(sName.Data(), sName.Data(),iNbinsPhi, dPhiMin, dPhiMax);
- fHistPhiDiff ->SetXTitle("#phi for differential flow");
- fHistPhiDiff ->SetYTitle("Counts");
+ fHistPhiPOI = new TH1F(sName.Data(), sName.Data(),iNbinsPhi, dPhiMin, dPhiMax);
+ fHistPhiPOI ->SetXTitle("#phi for POI selection");
+ fHistPhiPOI ->SetYTitle("Counts");
//Eta
- sName = "Control_Flow_EtaInt_";
+ sName = "Control_Flow_EtaRP_";
sName +=anInput;
- fHistEtaInt = new TH1F(sName.Data(), sName.Data(),iNbinsEta, dEtaMin, dEtaMax);
- fHistEtaInt ->SetXTitle("#eta for integrated flow");
- fHistEtaInt ->SetYTitle("Counts");
+ fHistEtaRP = new TH1F(sName.Data(), sName.Data(),iNbinsEta, dEtaMin, dEtaMax);
+ fHistEtaRP ->SetXTitle("#eta for RP selection");
+ fHistEtaRP ->SetYTitle("Counts");
- sName = "Control_Flow_EtaDiff_";
+ sName = "Control_Flow_EtaPOI_";
sName +=anInput;
- fHistEtaDiff = new TH1F(sName.Data(), sName.Data(),iNbinsEta, dEtaMin, dEtaMax);
- fHistEtaDiff ->SetXTitle("#eta for differential flow");
- fHistEtaDiff ->SetYTitle("Counts");
+ fHistEtaPOI = new TH1F(sName.Data(), sName.Data(),iNbinsEta, dEtaMin, dEtaMax);
+ fHistEtaPOI ->SetXTitle("#eta for POI selection");
+ fHistEtaPOI ->SetYTitle("Counts");
//Mean Pt per pt bin
sName = "Control_FlowPro_MeanPtperBin_";
//list of histograms if added here also add in copy constructor
fHistList = new TList();
fHistList-> Add(fHistMultOrig);
- fHistList-> Add(fHistMultInt);
- fHistList-> Add(fHistMultDiff);
- fHistList-> Add(fHistPtInt);
- fHistList-> Add(fHistPtDiff);
- fHistList-> Add(fHistPhiInt);
- fHistList-> Add(fHistPhiDiff);
- fHistList-> Add(fHistEtaInt);
- fHistList-> Add(fHistEtaDiff);
+ fHistList-> Add(fHistMultRP);
+ fHistList-> Add(fHistMultPOI);
+ fHistList-> Add(fHistPtRP);
+ fHistList-> Add(fHistPtPOI);
+ fHistList-> Add(fHistPhiRP);
+ fHistList-> Add(fHistPhiPOI);
+ fHistList-> Add(fHistEtaRP);
+ fHistList-> Add(fHistEtaPOI);
fHistList-> Add(fHistProMeanPtperBin);
fHistList-> Add(fHistQ);
{
//deletes histograms
delete fHistMultOrig;
- delete fHistMultInt;
- delete fHistMultDiff;
- delete fHistPtInt;
- delete fHistPtDiff;
- delete fHistPhiInt;
- delete fHistPhiDiff;
- delete fHistEtaInt;
- delete fHistEtaDiff;
+ delete fHistMultRP;
+ delete fHistMultPOI;
+ delete fHistPtRP;
+ delete fHistPtPOI;
+ delete fHistPhiRP;
+ delete fHistPhiPOI;
+ delete fHistEtaRP;
+ delete fHistEtaPOI;
delete fHistProMeanPtperBin;
delete fHistQ;
delete fHistList;
vQ.Set(dQX,dQY);
fHistQ->Fill(vQ.Mod());
- Int_t iMultInt = 0;
- Int_t iMultDiff = 0;
+ Int_t iMultRP = 0;
+ Int_t iMultPOI = 0;
AliFlowTrackSimple* pTrack = NULL;
for (Int_t i=0;i<iNumberOfTracks;i++) {
pTrack = anEvent->GetTrack(i);
if (pTrack ) {
- if (pTrack->UseForIntegratedFlow()){
+ if (pTrack->InRPSelection()){
dPt = pTrack->Pt();
- fHistPtInt->Fill(dPt);
+ fHistPtRP->Fill(dPt);
dPhi = pTrack->Phi();
if (dPhi<0.) dPhi+=2*TMath::Pi();
- fHistPhiInt->Fill(dPhi);
+ fHistPhiRP->Fill(dPhi);
dEta = pTrack->Eta();
- fHistEtaInt->Fill(dEta);
- iMultInt++;
+ fHistEtaRP->Fill(dEta);
+ iMultRP++;
}
- if (pTrack->UseForDifferentialFlow()){
+ if (pTrack->InPOISelection()){
dPt = pTrack->Pt();
- fHistPtDiff->Fill(dPt);
+ fHistPtPOI->Fill(dPt);
dPhi = pTrack->Phi();
if (dPhi<0.) dPhi+=2*TMath::Pi();
- fHistPhiDiff->Fill(dPhi);
+ fHistPhiPOI->Fill(dPhi);
dEta = pTrack->Eta();
- fHistEtaDiff->Fill(dEta);
+ fHistEtaPOI->Fill(dEta);
fHistProMeanPtperBin->Fill(dPt,dPt);
- iMultDiff++;
+ iMultPOI++;
}
} //track
} //loop over tracks
- fHistMultInt->Fill(iMultInt);
- fHistMultDiff->Fill(iMultDiff);
+ fHistMultRP->Fill(iMultRP);
+ fHistMultPOI->Fill(iMultPOI);
return kTRUE;
}
Double_t AliFlowCommonHist::GetEntriesInPtBinRP(Int_t aBin)
{
- //get entries in bin aBin from fHistPtDiff
- Double_t dEntries = fHistPtInt->GetBinContent(aBin);
+ //get entries in bin aBin from fHistPtRP
+ Double_t dEntries = fHistPtRP->GetBinContent(aBin);
return dEntries;
Double_t AliFlowCommonHist::GetEntriesInPtBinPOI(Int_t aBin)
{
- //get entries in bin aBin from fHistPtDiff
- Double_t dEntries = fHistPtDiff->GetBinContent(aBin);
+ //get entries in bin aBin from fHistPtPOI
+ Double_t dEntries = fHistPtPOI->GetBinContent(aBin);
return dEntries;
Double_t AliFlowCommonHist::GetEntriesInEtaBinRP(Int_t aBin)
{
- //get entries in bin aBin from fHistPtDiff
- Double_t dEntries = fHistEtaInt->GetBinContent(aBin);
+ //get entries in bin aBin from fHistPtRP
+ Double_t dEntries = fHistEtaRP->GetBinContent(aBin);
return dEntries;
Double_t AliFlowCommonHist::GetEntriesInEtaBinPOI(Int_t aBin)
{
- //get entries in bin aBin from fHistPtDiff
- Double_t dEntries = fHistEtaDiff->GetBinContent(aBin);
+ //get entries in bin aBin from fHistPtPOI
+ Double_t dEntries = fHistEtaPOI->GetBinContent(aBin);
return dEntries;
Bool_t FillControlHistograms(AliFlowEventSimple* anEvent);
void Browse(TBrowser *b);
//make get methods here
- Double_t GetEntriesInPtBinRP(Int_t iBin); //gets entries from fHistPtInt
- Double_t GetEntriesInPtBinPOI(Int_t iBin); //gets entries from fHistPtDiff
- Double_t GetEntriesInEtaBinRP(Int_t iBin); //gets entries from fHistEtaInt
- Double_t GetEntriesInEtaBinPOI(Int_t iBin); //gets entries from fHistEtaDiff
+ Double_t GetEntriesInPtBinRP(Int_t iBin); //gets entries from fHistPtRP
+ Double_t GetEntriesInPtBinPOI(Int_t iBin); //gets entries from fHistPtPOI
+ Double_t GetEntriesInEtaBinRP(Int_t iBin); //gets entries from fHistEtaRP
+ Double_t GetEntriesInEtaBinPOI(Int_t iBin); //gets entries from fHistEtaPOI
Double_t GetMeanPt(Int_t iBin); //gets the mean pt for this bin from fHistProMeanPtperBin
- TH1F* GetHistMultOrig() {return fHistMultOrig; } ;
- TH1F* GetHistMultInt() {return fHistMultInt; } ;
- TH1F* GetHistMultDiff() {return fHistMultDiff; } ;
- TH1F* GetHistPtInt() {return fHistPtInt; } ;
- TH1F* GetHistPtDiff() {return fHistPtDiff; } ;
- TH1F* GetHistPhiInt() {return fHistPhiInt; } ;
- TH1F* GetHistPhiDiff() {return fHistPhiDiff; } ;
- TH1F* GetHistEtaInt() {return fHistEtaInt; } ;
- TH1F* GetHistEtaDiff() {return fHistEtaDiff; } ;
- TProfile* GetHistProMeanPtperBin() {return fHistProMeanPtperBin; } ;
- TH1F* GetHistQ() {return fHistQ; } ;
- TList* GetHistList() {return fHistList;} ;
+ TH1F* GetHistMultOrig() {return fHistMultOrig; } ;
+ TH1F* GetHistMultRP() {return fHistMultRP; } ;
+ TH1F* GetHistMultPOI() {return fHistMultPOI; } ;
+ TH1F* GetHistPtRP() {return fHistPtRP; } ;
+ TH1F* GetHistPtPOI() {return fHistPtPOI; } ;
+ TH1F* GetHistPhiRP() {return fHistPhiRP; } ;
+ TH1F* GetHistPhiPOI() {return fHistPhiPOI; } ;
+ TH1F* GetHistEtaRP() {return fHistEtaRP; } ;
+ TH1F* GetHistEtaPOI() {return fHistEtaPOI; } ;
+ TProfile* GetHistProMeanPtperBin() {return fHistProMeanPtperBin; } ;
+ TH1F* GetHistQ() {return fHistQ; } ;
+ TList* GetHistList() {return fHistList;} ;
virtual Double_t Merge(TCollection *aList); //merge function
//method to print stats
//define histograms here
//control histograms
TH1F* fHistMultOrig; //multiplicity before selection
- TH1F* fHistMultInt; //multiplicity for integrated flow
- TH1F* fHistMultDiff; //multiplicity for differential flow
- TH1F* fHistPtInt; //pt distribution for integrated flow
- TH1F* fHistPtDiff; //pt distribution for differential flow
- TH1F* fHistPhiInt; //phi distribution for integrated flow
- TH1F* fHistPhiDiff; //phi distribution for differential flow
- TH1F* fHistEtaInt; //eta distribution for integrated flow
- TH1F* fHistEtaDiff; //eta distribution for differential flow
- TProfile* fHistProMeanPtperBin; //mean pt for each pt bin (for differential flow)
+ TH1F* fHistMultRP; //multiplicity for RP selection
+ TH1F* fHistMultPOI; //multiplicity for POI selection
+ TH1F* fHistPtRP; //pt distribution for RP selection
+ TH1F* fHistPtPOI; //pt distribution for POI selection
+ TH1F* fHistPhiRP; //phi distribution for RP selection
+ TH1F* fHistPhiPOI; //phi distribution for POI selection
+ TH1F* fHistEtaRP; //eta distribution for RP selection
+ TH1F* fHistEtaPOI; //eta distribution for POI selection
+ TProfile* fHistProMeanPtperBin; //mean pt for each pt bin (for POI selection)
TH1F* fHistQ; //Qvector distribution
TList* fHistList; //list to hold all histograms
dynamic_cast<AliFlowCommonHistResults*>
(fListHistos->FindObject("AliFlowCommonHistResultsMCEP"));
- TProfile *pHistProFlow = dynamic_cast<TProfile*>
- (fListHistos->FindObject("FlowPro_VPt_MCEP"));
-
TProfile *pHistProIntFlow = dynamic_cast<TProfile*>
- (fListHistos->FindObject("fHistProIntFlow"));
+ (fListHistos->FindObject("FlowPro_V_MCEP"));
TProfile *pHistProDiffFlowPtRP = dynamic_cast<TProfile*>
- (fListHistos->FindObject("fHistProDiffFlowPtRP"));
+ (fListHistos->FindObject("FlowPro_VPtRP_MCEP"));
TProfile *pHistProDiffFlowEtaRP = dynamic_cast<TProfile*>
- (fListHistos->FindObject("fHistProDiffFlowEtaRP"));
+ (fListHistos->FindObject("FlowPro_VetaRP_MCEP"));
TProfile *pHistProDiffFlowPtPOI = dynamic_cast<TProfile*>
- (fListHistos->FindObject("fHistProDiffFlowPtPOI"));
+ (fListHistos->FindObject("FlowPro_VPtPOI_MCEP"));
TProfile *pHistProDiffFlowEtaPOI = dynamic_cast<TProfile*>
- (fListHistos->FindObject("fHistProDiffFlowEtaPOI"));
+ (fListHistos->FindObject("FlowPro_VetaPOI_MCEP"));
- if (pCommonHists && pCommonHistResults && pHistProFlow && pHistProIntFlow && pHistProDiffFlowPtRP && pHistProDiffFlowEtaRP && pHistProDiffFlowPtPOI && pHistProDiffFlowEtaPOI) {
+ if (pCommonHists && pCommonHistResults && pHistProIntFlow &&
+ pHistProDiffFlowPtRP && pHistProDiffFlowEtaRP &&
+ pHistProDiffFlowPtPOI && pHistProDiffFlowEtaPOI) {
fMcTerm->SetCommonHists(pCommonHists);
fMcTerm->SetCommonHistsRes(pCommonHistResults);
- fMcTerm->SetHistProFlow(pHistProFlow);
fMcTerm->SetHistProIntFlow(pHistProIntFlow);
fMcTerm->SetHistProDiffFlowPtRP(pHistProDiffFlowPtRP);
fMcTerm->SetHistProDiffFlowEtaRP(pHistProDiffFlowEtaRP);