From: snelling Date: Thu, 19 Feb 2009 14:29:31 +0000 (+0000) Subject: POI's and RPs in LeeYangZeroes X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=e8c3ff945f7b75b9cfb6a91cd14ce910cc9c4894;p=u%2Fmrichter%2FAliRoot.git POI's and RPs in LeeYangZeroes --- diff --git a/PWG2/FLOW/AliFlowCommon/AliFlowAnalysisWithLeeYangZeros.cxx b/PWG2/FLOW/AliFlowCommon/AliFlowAnalysisWithLeeYangZeros.cxx index a9c667b84df..3f85915ebeb 100644 --- a/PWG2/FLOW/AliFlowCommon/AliFlowAnalysisWithLeeYangZeros.cxx +++ b/PWG2/FLOW/AliFlowCommon/AliFlowAnalysisWithLeeYangZeros.cxx @@ -15,7 +15,7 @@ #include "Riostream.h" //needed as include -#include "TObject.h" //needed as include +#include "TObject.h" //needed as include #include "AliFlowCommonConstants.h" //needed as include #include "AliFlowLYZConstants.h" //needed as include #include "AliFlowAnalysisWithLeeYangZeros.h" @@ -64,8 +64,10 @@ ClassImp(AliFlowAnalysisWithLeeYangZeros) fHistList(NULL), fFirstRunList(NULL), fHistProVtheta(NULL), - fHistProVeta(NULL), - fHistProVPt(NULL), + fHistProVetaRP(NULL), + fHistProVetaPOI(NULL), + fHistProVPtRP(NULL), + fHistProVPtPOI(NULL), fHistProR0theta(NULL), fHistProReDenom(NULL), fHistProImDenom(NULL), @@ -85,7 +87,8 @@ ClassImp(AliFlowAnalysisWithLeeYangZeros) for(Int_t i = 0;i<5;i++) { fHist1[i]=0; - fHist2[i]=0; + fHist2RP[i]=0; + fHist2POI[i]=0; } fQsum = new TVector2(); @@ -123,22 +126,6 @@ void AliFlowAnalysisWithLeeYangZeros::WriteHistograms(TString* outputFileName) //----------------------------------------------------------------------- -void AliFlowAnalysisWithLeeYangZeros::WriteHistograms(TString outputFileName) -{ - //store the final results in output .root file - - TFile *output = new TFile(outputFileName.Data(),"RECREATE"); - if (GetFirstRun()) { - output->WriteObject(fHistList, "cobjLYZ1","SingleKey"); - } - else { - output->WriteObject(fHistList, "cobjLYZ2","SingleKey"); - } - delete output; -} - -//----------------------------------------------------------------------- - Bool_t AliFlowAnalysisWithLeeYangZeros::Init() { //init method @@ -204,15 +191,25 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Init() fHistProImDenom->SetYTitle("Im(Q^{#theta}e^{ir_{0}^{#theta}Q^{#theta}})"); fHistList->Add(fHistProImDenom); - fHistProVeta = new TProfile("Second_FlowPro_Veta_LYZ","Second_FlowPro_Veta_LYZ",iNbinsEta,dEtaMin,dEtaMax); - fHistProVeta->SetXTitle("rapidity"); - fHistProVeta->SetYTitle("v (%)"); - fHistList->Add(fHistProVeta); + fHistProVetaRP = new TProfile("Second_FlowPro_VetaRP_LYZ","Second_FlowPro_VetaRP_LYZ",iNbinsEta,dEtaMin,dEtaMax); + fHistProVetaRP->SetXTitle("rapidity"); + fHistProVetaRP->SetYTitle("v_{2}(#eta) for RP selection"); + fHistList->Add(fHistProVetaRP); + + fHistProVetaPOI = new TProfile("Second_FlowPro_VetaPOI_LYZ","Second_FlowPro_VetaPOI_LYZ",iNbinsEta,dEtaMin,dEtaMax); + fHistProVetaPOI->SetXTitle("rapidity"); + fHistProVetaPOI->SetYTitle("v_{2}(#eta) for POI selection"); + fHistList->Add(fHistProVetaPOI); + + fHistProVPtRP = new TProfile("Second_FlowPro_VPtRP_LYZ","Second_FlowPro_VPtRP_LYZ",iNbinsPt,dPtMin,dPtMax); + fHistProVPtRP->SetXTitle("Pt"); + fHistProVPtRP->SetYTitle("v_{2}(p_{T}) for RP selection"); + fHistList->Add(fHistProVPtRP); - fHistProVPt = new TProfile("Second_FlowPro_VPt_LYZ","Second_FlowPro_VPt_LYZ",iNbinsPt,dPtMin,dPtMax); - fHistProVPt->SetXTitle("Pt"); - fHistProVPt->SetYTitle("v (%)"); - fHistList->Add(fHistProVPt); + fHistProVPtPOI = new TProfile("Second_FlowPro_VPtPOI_LYZ","Second_FlowPro_VPtPOI_LYZ",iNbinsPt,dPtMin,dPtMax); + fHistProVPtPOI->SetXTitle("p_{T}"); + fHistProVPtPOI->SetYTitle("v_{2}(p_{T}) for POI selection"); + fHistList->Add(fHistProVPtPOI); fHistProReDtheta = new TProfile("Second_FlowPro_ReDtheta_LYZ","Second_FlowPro_ReDtheta_LYZ",iNtheta, -0.5, iNtheta-0.5); fHistProReDtheta->SetXTitle("#theta"); @@ -226,10 +223,15 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Init() //class AliFlowLYZHist2 defines the histograms: for (Int_t theta=0;thetaAdd(fHist2[theta]); + TString nameRP = "AliFlowLYZHist2RP_"; + nameRP += theta; + fHist2RP[theta]=new AliFlowLYZHist2(theta,nameRP); + fHistList->Add(fHist2RP[theta]); + + TString namePOI = "AliFlowLYZHist2POI_"; + namePOI += theta; + fHist2POI[theta]=new AliFlowLYZHist2(theta,namePOI); + fHistList->Add(fHist2POI[theta]); } //read histogram fHistProR0theta from the first run list @@ -272,7 +274,7 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Make(AliFlowEventSimple* anEvent) cout<<"##### FlowLeeYangZero: Stack pointer null"<FillIntegratedFlow(dv2pro, dv2Err); + cout<<"dV(RP) = "<FillIntegratedFlowRP(dv2pro, dv2Err); if (fDebug) cout<<"****histograms filled****"<GetBinContent(theta+1); + if (!fHistProR0theta) { + cout << "Hist pointer R0theta in file does not exist" <GetBinContent(theta+1); //histogram starts at bin 1 if (fDebug) cerr<<"dR0 = "< Vn^theta = j01/r0^theta - if (fHistProReDenom && fHistProImDenom) { + if (!fHistProReDenom && !fHistProImDenom) { + cout << "Hist pointer fDenom in file does not exist" <GetBinContent(theta+1); dImDenom = fHistProImDenom->GetBinContent(theta+1); - } - else { - cout << "Hist pointer fDenom in file does not exist" <GetBinContent(theta+1); - cDtheta = dR0*cDenom/dJ01; - fHistProReDtheta->Fill(theta,cDtheta.Re()); - fHistProImDtheta->Fill(theta,cDtheta.Im()); - } + //for new method and use by others (only with the sum generating function): + if (fUseSum) { + cDtheta = dR0*cDenom/dJ01; + fHistProReDtheta->Fill(theta,cDtheta.Re()); + fHistProImDtheta->Fill(theta,cDtheta.Im()); + } - cDenom *= TComplex::Power(i, m-1); - //cerr<<"TComplex::Power(i, m-1) = "<Fill(dEtaRP,dVetaRP); + } //loop over bins be - //v as a function of Pt - for (Int_t bp=1;bp<=iNbinsPt;bp++) { - dPt = fHist2[theta]->GetBinCenterPt(bp); - cNumer = fHist2[theta]->GetNumerPt(bp); - if (cNumer.Rho()==0) { - if (fDebug) cerr<<"modulus of cNumer is zero"<Fill(dEtaPOI,dVetaPOI); + } //loop over bins be + + + //v as a function of Pt for RP selection + for (Int_t bp=1;bp<=iNbinsPt;bp++) { + dPtRP = fHist2RP[theta]->GetBinCenterPt(bp); + cNumerRP = fHist2RP[theta]->GetNumerPt(bp); + if (cNumerRP.Rho()==0) { + if (fDebug) cerr<<"WARNING: modulus of cNumerRP is zero"<Fill(dPtRP,dVPtRP); + } //loop over bins bp + + + + //v as a function of Pt for POI selection + for (Int_t bp=1;bp<=iNbinsPt;bp++) { + dPtPOI = fHist2POI[theta]->GetBinCenterPt(bp); + cNumerPOI = fHist2POI[theta]->GetNumerPt(bp); + if (cNumerPOI.Rho()==0) { + if (fDebug) cerr<<"WARNING: modulus of cNumerPOI is zero"<Fill(dPtPOI,dVPtPOI); + } //loop over bins bp + } - - dVPt = dBesselRatio[m-1]*dReRatio*dVtheta; //BP eq. 12 - - fHistProVPt->Fill(dPt,dVPt); - } //loop over bins bp + } }//end of loop over theta @@ -492,14 +532,144 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Make(AliFlowEventSimple* anEvent) dSigma2 = fQ2sum - TMath::Power(fQsum->X(),2.) - TMath::Power(fQsum->Y(),2.) - TMath::Power(dV,2.); //BP eq. 62 if (dSigma2>0) dChi = dV/TMath::Sqrt(dSigma2); else dChi = -1.; - fCommonHistsRes->FillChi(dChi); - cout<<"dV = "<FillIntegratedFlowPOI(dVPOI,dErrV); + } //secondrun cout<<"----LYZ analysis finished....----"< 100.) break; } @@ -625,10 +813,11 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Make(AliFlowEventSimple* anEvent) } //define variables - TComplex cExpo, cDenom, cNumer,cCosTermComplex; + TComplex cExpo, cDenom, cNumerRP, cNumerPOI, cCosTermComplex; Double_t dPhi, dEta, dPt; Double_t dR0 = 0.; - Double_t dCosTerm; + Double_t dCosTermRP = 0.; + Double_t dCosTermPOI = 0.; Double_t m = 1.; Double_t dOrder = 2.; Int_t iNtheta = AliFlowLYZConstants::kTheta; @@ -669,7 +858,7 @@ Bool_t AliFlowAnalysisWithLeeYangZeros::Make(AliFlowEventSimple* anEvent) } //cerr<<"dR0 = "<GetTrack(i); if (pTrack) { - if (pTrack->UseForDifferentialFlow()) { - dEta = pTrack->Eta(); - dPt = pTrack->Pt(); - dPhi = pTrack->Phi(); - dCosTerm = cos(m*dOrder*(dPhi-dTheta)); - //cerr<<"dCosTerm = "<Fill(dEta,dPt,cNumer); - } - else { - cout << "fHist2 pointer mising" <Eta(); + dPt = pTrack->Pt(); + dPhi = pTrack->Phi(); + if (pTrack->UseForIntegratedFlow()) { // 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"<Fill(dEta,dPt,cNumerRP); } } - } //if particle + if (pTrack->UseForDifferentialFlow()) { //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"<Fill(dEta,dPt,cNumerPOI); } + } + else { + cout << "fHist2 pointer mising" <GetTrack(i) ; if (pTrack){ - if (pTrack->UseForDifferentialFlow()) { + if (pTrack->UseForIntegratedFlow()) { Double_t dPhi = pTrack->Phi(); Double_t dCosTerm = dWgt*cos(dOrder*(dPhi - dTheta)); //GetGr0theta Double_t dGIm = aR0 * dCosTerm; TComplex cGi(1., dGIm); + TComplex cCosTermComplex(1., aR0*dCosTerm); cG *= cGi; //product over all tracks //GetdGr0theta - TComplex cCosTermComplex(1., aR0*dCosTerm); cdGr0 +=(dCosTerm / cCosTermComplex); //sum over all tracks } } //if particle else {cerr << "no particle!!!"<GetTrack(i) ; if (pTrack){ + Double_t dEta = pTrack->Eta(); + Double_t dPt = pTrack->Pt(); + Double_t dPhi = pTrack->Phi(); + Double_t dCosTerm = cos(dOrder*(dPhi-dTheta)); + TComplex cCosTermComplex(1.,aR0*dCosTerm); + //RP selection + if (pTrack->UseForIntegratedFlow()) { + TComplex cNumerRP = cG*dCosTerm/cCosTermComplex; //PG Eq. 9 + fHist2RP[theta]->Fill(dEta,dPt,cNumerRP); + } + //POI selection if (pTrack->UseForDifferentialFlow()) { - Double_t dEta = pTrack->Eta(); - Double_t dPt = pTrack->Pt(); - Double_t dPhi = pTrack->Phi(); - Double_t dCosTerm = cos(dOrder*(dPhi-dTheta)); - TComplex cCosTermComplex(1.,aR0*dCosTerm); - TComplex cNumer = cG*dCosTerm/cCosTermComplex; //PG Eq. 9 - fHist2[theta]->Fill(dEta,dPt,cNumer); + TComplex cNumerPOI = cG*dCosTerm/cCosTermComplex; //PG Eq. 9 + fHist2POI[theta]->Fill(dEta,dPt,cNumerPOI); } } //if particle else {cerr << "no particle pointer!!!"<fFirstRun = kt ; } Bool_t GetFirstRun() const { return this->fFirstRun ; } void SetUseSum(Bool_t kt) { this->fUseSum = kt ; } @@ -75,18 +74,26 @@ class AliFlowAnalysisWithLeeYangZeros { void SetHist1(AliFlowLYZHist1* aLYZHist1[]) {for (Int_t i=0;i<5;i++) {this->fHist1[i] = aLYZHist1[i];} } //AliFlowLYZHist2* GetHist2() const {return this->fHist2; } - void SetHist2(AliFlowLYZHist2* aLYZHist2[]) - {for (Int_t i=0;i<5;i++) {this->fHist2[i] = aLYZHist2[i];} } + void SetHist2RP(AliFlowLYZHist2* aLYZHist2RP[]) + {for (Int_t i=0;i<5;i++) {this->fHist2RP[i] = aLYZHist2RP[i];} } + void SetHist2POI(AliFlowLYZHist2* aLYZHist2POI[]) + {for (Int_t i=0;i<5;i++) {this->fHist2POI[i] = aLYZHist2POI[i];} } TProfile* GetHistProVtheta() const {return this->fHistProVtheta; } void SetHistProVtheta(TProfile* aHistProVtheta) { this->fHistProVtheta = aHistProVtheta; } - TProfile* GetHistProVeta() const {return this->fHistProVeta; } - void SetHistProVeta(TProfile* aHistProVeta) - {this->fHistProVeta = aHistProVeta; } - TProfile* GetHistProVPt() const {return this->fHistProVPt;} - void SetHistProVPt(TProfile* aHistProVPt) - {this->fHistProVPt = aHistProVPt; } + TProfile* GetHistProVetaRP() const {return this->fHistProVetaRP; } + void SetHistProVetaRP(TProfile* aHistProVetaRP) + {this->fHistProVetaRP = aHistProVetaRP; } + TProfile* GetHistProVetaPOI() const {return this->fHistProVetaPOI; } + void SetHistProVetaPOI(TProfile* aHistProVetaPOI) + {this->fHistProVetaPOI = aHistProVetaPOI; } + TProfile* GetHistProVPtRP() const {return this->fHistProVPtRP;} + void SetHistProVPtRP(TProfile* aHistProVPtRP) + {this->fHistProVPtRP = aHistProVPtRP; } + TProfile* GetHistProVPtPOI() const {return this->fHistProVPtPOI;} + void SetHistProVPtPOI(TProfile* aHistProVPtPOI) + {this->fHistProVPtPOI = aHistProVPtPOI; } TProfile* GetHistProR0theta() const {return this->fHistProR0theta; } void SetHistProR0theta(TProfile* aHistProR0theta) {this->fHistProR0theta = aHistProR0theta; } @@ -140,8 +147,10 @@ class AliFlowAnalysisWithLeeYangZeros { TList* fFirstRunList; //list from first run output TProfile* fHistProVtheta; - TProfile* fHistProVeta; - TProfile* fHistProVPt; + TProfile* fHistProVetaRP; + TProfile* fHistProVetaPOI; + TProfile* fHistProVPtRP; + TProfile* fHistProVPtPOI; TProfile* fHistProR0theta; TProfile* fHistProReDenom; TProfile* fHistProImDenom; @@ -155,7 +164,8 @@ class AliFlowAnalysisWithLeeYangZeros { //class AliFlowLYZHist1 defines the histograms: fHistProReNumer, fHistProImNumer, fHistProReNumerPt, //fHistProImNumerPt, fHistProReNumer2D, fHistProImNumer2D. - AliFlowLYZHist2* fHist2[5]; // + AliFlowLYZHist2* fHist2RP[5]; // + AliFlowLYZHist2* fHist2POI[5]; // AliFlowCommonHist* fCommonHists; // AliFlowCommonHistResults* fCommonHistsRes; // diff --git a/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.cxx b/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.cxx index 785f0169d65..81397fcee6d 100644 --- a/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.cxx +++ b/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.cxx @@ -334,7 +334,18 @@ Bool_t AliFlowCommonHist::FillControlHistograms(AliFlowEventSimple* anEvent) //----------------------------------------------------------------------- -Double_t AliFlowCommonHist::GetEntriesInPtBin(Int_t aBin) +Double_t AliFlowCommonHist::GetEntriesInPtBinRP(Int_t aBin) +{ + //get entries in bin aBin from fHistPtDiff + Double_t dEntries = fHistPtInt->GetBinContent(aBin); + + return dEntries; + +} + +//----------------------------------------------------------------------- + +Double_t AliFlowCommonHist::GetEntriesInPtBinPOI(Int_t aBin) { //get entries in bin aBin from fHistPtDiff Double_t dEntries = fHistPtDiff->GetBinContent(aBin); @@ -345,6 +356,28 @@ Double_t AliFlowCommonHist::GetEntriesInPtBin(Int_t aBin) //----------------------------------------------------------------------- +Double_t AliFlowCommonHist::GetEntriesInEtaBinRP(Int_t aBin) +{ + //get entries in bin aBin from fHistPtDiff + Double_t dEntries = fHistEtaInt->GetBinContent(aBin); + + return dEntries; + +} + +//----------------------------------------------------------------------- + +Double_t AliFlowCommonHist::GetEntriesInEtaBinPOI(Int_t aBin) +{ + //get entries in bin aBin from fHistPtDiff + Double_t dEntries = fHistEtaDiff->GetBinContent(aBin); + + return dEntries; + +} + +//----------------------------------------------------------------------- + Double_t AliFlowCommonHist::GetMeanPt(Int_t aBin) { //Get entry from bin aBin from fHistProMeanPtperBin diff --git a/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.h b/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.h index 9987db734ac..971b6aaf3ac 100644 --- a/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.h +++ b/PWG2/FLOW/AliFlowCommon/AliFlowCommonHist.h @@ -34,8 +34,11 @@ class AliFlowCommonHist: public TNamed { Bool_t FillControlHistograms(AliFlowEventSimple* anEvent); void Browse(TBrowser *b); //make get methods here - Double_t GetEntriesInPtBin(Int_t iBin); //gets entries from fHistPtDiff - Double_t GetMeanPt(Int_t iBin); //gets the mean pt for this bin from fHistProMeanPtperBin + 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 GetMeanPt(Int_t iBin); //gets the mean pt for this bin from fHistProMeanPtperBin TH1F* GetHistMultOrig() {return fHistMultOrig; } ; TH1F* GetHistMultInt() {return fHistMultInt; } ; diff --git a/PWG2/FLOW/AliFlowTasks/AliAnalysisTaskLeeYangZeros.cxx b/PWG2/FLOW/AliFlowTasks/AliAnalysisTaskLeeYangZeros.cxx index b90394e5baf..be02c1bf42b 100644 --- a/PWG2/FLOW/AliFlowTasks/AliAnalysisTaskLeeYangZeros.cxx +++ b/PWG2/FLOW/AliFlowTasks/AliAnalysisTaskLeeYangZeros.cxx @@ -314,7 +314,7 @@ void AliAnalysisTaskLeeYangZeros::Terminate(Option_t *) fLyzTerm -> SetUseSum(GetUseSumLYZ()); //set use sum true or false fListHistos = (TList*)GetOutputData(0); - //cout << "histogram list in Terminate" << endl; + cout << "histogram list in Terminate" << endl; if (fListHistos) { @@ -326,10 +326,13 @@ void AliAnalysisTaskLeeYangZeros::Terminate(Option_t *) TProfile* pHistProImDenom = NULL; TProfile* pHistProReDtheta = NULL; TProfile* pHistProImDtheta = NULL; - TProfile* pHistProVeta = NULL; - TProfile* pHistProVPt = NULL; + TProfile* pHistProVetaRP = NULL; + TProfile* pHistProVetaPOI = NULL; + TProfile* pHistProVPtRP = NULL; + TProfile* pHistProVPtPOI = NULL; AliFlowLYZHist1 *pLYZHist1[iNtheta] = {NULL}; //array of pointers to AliFlowLYZHist1 - AliFlowLYZHist2 *pLYZHist2[iNtheta] = {NULL}; //array of pointers to AliFlowLYZHist2 + AliFlowLYZHist2 *pLYZHist2RP[iNtheta] = {NULL}; //array of pointers to AliFlowLYZHist2 + AliFlowLYZHist2 *pLYZHist2POI[iNtheta] = {NULL}; //array of pointers to AliFlowLYZHist2 if (GetFirstRunLYZ()) { //first run //Get the common histograms from the output list @@ -381,10 +384,15 @@ void AliAnalysisTaskLeeYangZeros::Terminate(Option_t *) } else { //for second run //Get the histograms from the output list for(Int_t theta = 0;theta - (fListHistos->FindObject(name)); + TString nameRP = "AliFlowLYZHist2RP_"; + nameRP += theta; + pLYZHist2RP[theta] = dynamic_cast + (fListHistos->FindObject(nameRP)); + TString namePOI = "AliFlowLYZHist2POI_"; + namePOI += theta; + pLYZHist2POI[theta] = dynamic_cast + (fListHistos->FindObject(namePOI)); + } pHistProReDenom = dynamic_cast @@ -397,24 +405,33 @@ void AliAnalysisTaskLeeYangZeros::Terminate(Option_t *) pHistProImDtheta = dynamic_cast (fListHistos->FindObject("Second_FlowPro_ImDtheta_LYZ")); - pHistProVeta = dynamic_cast - (fListHistos->FindObject("Second_FlowPro_Veta_LYZ")); - pHistProVPt = dynamic_cast - (fListHistos->FindObject("Second_FlowPro_VPt_LYZ")); + pHistProVetaRP = dynamic_cast + (fListHistos->FindObject("Second_FlowPro_VetaRP_LYZ")); + pHistProVetaPOI = dynamic_cast + (fListHistos->FindObject("Second_FlowPro_VetaPOI_LYZ")); + pHistProVPtRP = dynamic_cast + (fListHistos->FindObject("Second_FlowPro_VPtRP_LYZ")); + pHistProVPtPOI = dynamic_cast + (fListHistos->FindObject("Second_FlowPro_VPtPOI_LYZ")); + //Set the histogram pointers and call Finish() - if (pCommonHist && pCommonHistResults && pLYZHist2[0] && pHistProR0theta && - pHistProReDenom && pHistProImDenom && pHistProVeta && pHistProVPt) { + if (pCommonHist && pCommonHistResults && pLYZHist2RP[0] && pLYZHist2POI[0] && + pHistProR0theta && pHistProReDenom && pHistProImDenom && pHistProVetaRP && + pHistProVetaPOI && pHistProVPtRP && pHistProVPtPOI) { fLyzTerm->SetCommonHists(pCommonHist); fLyzTerm->SetCommonHistsRes(pCommonHistResults); - fLyzTerm->SetHist2(pLYZHist2); + fLyzTerm->SetHist2RP(pLYZHist2RP); + fLyzTerm->SetHist2POI(pLYZHist2POI); fLyzTerm->SetHistProR0theta(pHistProR0theta); fLyzTerm->SetHistProReDenom(pHistProReDenom); fLyzTerm->SetHistProImDenom(pHistProImDenom); fLyzTerm->SetHistProReDtheta(pHistProReDtheta); fLyzTerm->SetHistProImDtheta(pHistProImDtheta); - fLyzTerm->SetHistProVeta(pHistProVeta); - fLyzTerm->SetHistProVPt(pHistProVPt); + fLyzTerm->SetHistProVetaRP(pHistProVetaRP); + fLyzTerm->SetHistProVetaPOI(pHistProVetaPOI); + fLyzTerm->SetHistProVPtRP(pHistProVPtRP); + fLyzTerm->SetHistProVPtPOI(pHistProVPtPOI); fLyzTerm->SetHistQsumforChi(pHistQsumforChi); fLyzTerm->Finish(); PostData(0,fListHistos); @@ -427,5 +444,5 @@ void AliAnalysisTaskLeeYangZeros::Terminate(Option_t *) } else { cout << "histogram list pointer is empty" << endl;} - cout<<".....finished LYZ"<CreateContainer("cobjLYZ1", TList::Class(),AliAnalysisManager::kOutputContainer,outputLYZ1); } if(LYZ2) { TString outputLYZ2 = "outputLYZ2analysis"; outputLYZ2+= type; - outputLYZ2+= "_secondrun.root"; AliAnalysisDataContainer *coutputLYZ2 = mgr->CreateContainer("cobjLYZ2", TList::Class(),AliAnalysisManager::kOutputContainer,outputLYZ2); }