From 14d7f2f911dce6456e8b89fd650364e3ba24e808 Mon Sep 17 00:00:00 2001 From: amarin Date: Wed, 9 Feb 2011 22:22:25 +0000 Subject: [PATCH] Changes from RR for PbPb, correction fromMW for direct photon --- .../AliAnalysisTaskGammaConversion.cxx | 68 ++++++++++++++++++- PWG4/GammaConv/AliV0Reader.cxx | 49 ++++++++++--- PWG4/GammaConv/AliV0Reader.h | 8 ++- 3 files changed, 113 insertions(+), 12 deletions(-) diff --git a/PWG4/GammaConv/AliAnalysisTaskGammaConversion.cxx b/PWG4/GammaConv/AliAnalysisTaskGammaConversion.cxx index c3704a5750d..ef933862f92 100644 --- a/PWG4/GammaConv/AliAnalysisTaskGammaConversion.cxx +++ b/PWG4/GammaConv/AliAnalysisTaskGammaConversion.cxx @@ -608,6 +608,67 @@ void AliAnalysisTaskGammaConversion::UserExec(Option_t */*option*/) return; } } + +////////////////////////////////////// RRnew start ///////////////////////////////////////////////////// + if(fUseCentrality==3){ + centralityC = esdCentrality->GetCentralityClass10("V0M"); + if( (fUseCentralityBin == 0) && (centralityC!=0) ){ // 0-10% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 1) && (centralityC!=1) ){ // 10-20% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 2) && (centralityC!=2) && (centralityC!=3) ){ // 20-40% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 4) && (centralityC!=4) && (centralityC!=5) ){ // 40-60% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 6) && (centralityC!=6) && (centralityC!=7) && (centralityC!=8) ){ // 60-90% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + } + + if(fUseCentrality==4){ + centralityC = esdCentrality->GetCentralityClass10("CL1"); + if( (fUseCentralityBin == 0) && (centralityC!=0) ){ // 0-10% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 1) && (centralityC!=1) ){ // 10-20% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 2) && (centralityC!=2) && (centralityC!=3) ){ // 20-40% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 4) && (centralityC!=4) && (centralityC!=5) ){ // 40-60% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + if( (fUseCentralityBin == 6) && (centralityC!=6) && (centralityC!=7) && (centralityC!=8) ){ // 60-90% + eventQuality=7; + fHistograms->FillHistogram("ESD_EventQuality",eventQuality); + return; + } + } +////////////////////////////////////// RRnew end /////////////////////////////////////////////////////// + } } eventQuality=3; @@ -979,7 +1040,8 @@ void AliAnalysisTaskGammaConversion::ProcessMCData(){ } if(particle->GetMother(0) < 0 || //Phojet p+p -> Direct Photons have no mother ((particle->GetMother(0) > -1) && - (TMath::Abs(fStack->Particle(particle->GetMother(0))->GetPdgCode()) < 10)) //Pythia p+p -> Direct Photons have quarks as mother + ((TMath::Abs(fStack->Particle(particle->GetMother(0))->GetPdgCode()) < 10)|| + (TMath::Abs(fStack->Particle(particle->GetMother(0))->GetPdgCode()) ==21) )) //Pythia p+p -> Direct Photons have quarksor gluons as mother ){ // direct gamma fHistograms->FillHistogram("MC_allDirectGamma_Energy",particle->Energy()); fHistograms->FillHistogram("MC_allDirectGamma_Pt", particle->Pt()); @@ -1182,13 +1244,13 @@ void AliAnalysisTaskGammaConversion::ProcessMCData(){ // the motherparticle had already to pass the R and the eta cut, but no line cut. // the line cut is just valid for the conversions! - // OWN primary Pi0 debug //////////////////////////////////////////////////////////////////////////////////////////// + // RR primary Pi0 debug //////////////////////////////////////////////////////////////////////////////////////////// if (particle->GetPdgCode()==111){ if( TMath::Abs(rapidity) < fV0Reader->GetRapidityMesonCut() ){ fHistograms->FillHistogram("MC_Pi0_Pt_vs_Rapid_allDaughters", particle->Pt(),rapidity); } } - // end OWN primary Pi0 debug //////////////////////////////////////////////////////////////////////////////////////// + // end RR primary Pi0 debug //////////////////////////////////////////////////////////////////////////////////////// if(particle->GetNDaughters() == 2){ diff --git a/PWG4/GammaConv/AliV0Reader.cxx b/PWG4/GammaConv/AliV0Reader.cxx index 3a72b8418bd..686b35a3b39 100644 --- a/PWG4/GammaConv/AliV0Reader.cxx +++ b/PWG4/GammaConv/AliV0Reader.cxx @@ -117,7 +117,10 @@ AliV0Reader::AliV0Reader() : fPIDMinPProtonRejectionLowP(0), fPIDMinPPionRejectionLowP(0), fDoQtGammaSelection(kFALSE), + fDoHighPtQtGammaSelection(kFALSE), // RRnew fQtMax(100.), + fHighPtQtMax(100.), // RRnew + fPtBorderForQt(100.), // RRnew fXVertexCut(0.), fYVertexCut(0.), fZVertexCut(0.), @@ -215,7 +218,10 @@ AliV0Reader::AliV0Reader(const AliV0Reader & original) : fPIDMinPProtonRejectionLowP(original.fPIDMinPProtonRejectionLowP), fPIDMinPPionRejectionLowP(original.fPIDMinPPionRejectionLowP), fDoQtGammaSelection(original.fDoQtGammaSelection), + fDoHighPtQtGammaSelection(original.fDoHighPtQtGammaSelection), // RRnew fQtMax(original.fQtMax), + fHighPtQtMax(original.fHighPtQtMax), // RRnew + fPtBorderForQt(original.fPtBorderForQt), // RRnew fXVertexCut(original.fXVertexCut), fYVertexCut(original.fYVertexCut), fZVertexCut(original.fZVertexCut), @@ -430,6 +436,8 @@ Int_t AliV0Reader::GetNumberOfContributorsVtx(){ } if(fESDEvent->GetPrimaryVertexTracks()->GetNContributors()<1) { + // return 0; + //-AM test pi0s without SPD only vertex if(fESDEvent->GetPrimaryVertexSPD()->GetNContributors()>0) { return fESDEvent->GetPrimaryVertexSPD()->GetNContributors(); @@ -451,6 +459,8 @@ Bool_t AliV0Reader::CheckForPrimaryVertex(){ if(fESDEvent->GetPrimaryVertexTracks()->GetNContributors()<1) { // SPD vertex if(fESDEvent->GetPrimaryVertexSPD()->GetNContributors()>0) { + // return 0; + //-AM test pi0s without SPD only vertex //cout<<"spd vertex type::"<< fESDEvent->GetPrimaryVertex()->GetName() << endl; return 1; @@ -749,15 +759,38 @@ Bool_t AliV0Reader::NextV0(){ // Gamma selection based on QT from Armenteros - if(fDoQtGammaSelection == kTRUE){ - if(armenterosQtAlfa[0]>fQtMax){ - if(fHistograms != NULL){ - fHistograms->FillHistogram("ESD_CutQt_InvMass",GetMotherCandidateMass()); + if(fDoQtGammaSelection == kTRUE){ // RRnew start : apply different qT-cut above/below + if(fDoHighPtQtGammaSelection){ + if(GetMotherCandidatePt() < fPtBorderForQt){ + if(armenterosQtAlfa[0]>fQtMax){ + if(fHistograms != NULL){ + fHistograms->FillHistogram("ESD_CutQt_InvMass",GetMotherCandidateMass()); + } + fCurrentV0IndexNumber++; + continue; + } + } + else{ + if(armenterosQtAlfa[0]>fHighPtQtMax) { + if(fHistograms != NULL){ + fHistograms->FillHistogram("ESD_CutQt_InvMass",GetMotherCandidateMass()); + } + fCurrentV0IndexNumber++; + continue; + } + } + } - fCurrentV0IndexNumber++; - continue; - } - } + else{ + if(armenterosQtAlfa[0]>fQtMax){ + if(fHistograms != NULL){ + fHistograms->FillHistogram("ESD_CutQt_InvMass",GetMotherCandidateMass()); + } + fCurrentV0IndexNumber++; + continue; + } + } + } // RRnew end //checks if we have a prim vertex //if(fESDEvent->GetPrimaryVertex()->GetNContributors()<=0) { diff --git a/PWG4/GammaConv/AliV0Reader.h b/PWG4/GammaConv/AliV0Reader.h index 342c8405b63..ef1bcf90579 100644 --- a/PWG4/GammaConv/AliV0Reader.h +++ b/PWG4/GammaConv/AliV0Reader.h @@ -741,10 +741,13 @@ class AliV0Reader : public TObject { *Set if we want to use Gamma Selection based on Qt from Armenteros */ void SetDoQtGammaSelection(Bool_t doQtGammaSelection){fDoQtGammaSelection=doQtGammaSelection;} + void SetDoHighPtQtGammaSelection(Bool_t doHighPtQtGammaSelection){fDoHighPtQtGammaSelection=doHighPtQtGammaSelection;} // RRnew /* * Sets the MaxQtCut value. */ void SetQtMax(Double_t qtMax){fQtMax=qtMax;} + void SetHighPtQtMax(Double_t qtMaxHighPt){fHighPtQtMax=qtMaxHighPt;} // RRnew + void SetPtBorderForQt(Double_t ptBorderForQt){fPtBorderForQt=ptBorderForQt;} // RRnew /* * Updates the V0 information of the current V0. @@ -930,7 +933,10 @@ class AliV0Reader : public TObject { Double_t fPIDMinPProtonRejectionLowP; // Momentum limit to apply proton rejection Double_t fPIDMinPPionRejectionLowP; // Momentum limit to apply proton rejection Bool_t fDoQtGammaSelection; // Select gammas using qtMax + Bool_t fDoHighPtQtGammaSelection; // RRnew Select gammas using qtMax for high pT Double_t fQtMax; // Maximum Qt from Armenteros to select Gammas + Double_t fHighPtQtMax; // RRnew Maximum Qt for High pT from Armenteros to select Gammas + Double_t fPtBorderForQt; // RRnew Double_t fXVertexCut; //vertex cut Double_t fYVertexCut; //vertex cut Double_t fZVertexCut; // vertexcut @@ -971,7 +977,7 @@ class AliV0Reader : public TObject { Int_t fIsHeavyIon; // flag Bool_t fUseCorrectedTPCClsInfo; - ClassDef(AliV0Reader,18) + ClassDef(AliV0Reader,19) // RRnew }; inline void AliV0Reader::InitESDpid(Int_t type) -- 2.43.0