From 4d1d8f00f441aebeb760fe20a862246ccc646d9b Mon Sep 17 00:00:00 2001 From: gconesab Date: Fri, 1 Aug 2014 20:08:52 +0200 Subject: [PATCH] add a common setter to decide if the EMCAL modules under TRD modules have special histograms filled or created, and from which SM, covered SM changed from 2010 to 2012 and possibly all SM will be covered after --- .../AliAnaCaloTrackCorrBaseClass.cxx | 3 ++- .../AliAnaCaloTrackCorrBaseClass.h | 8 +++++++- PWGGA/CaloTrackCorrelations/AliAnaElectron.cxx | 5 +++-- .../AliAnaParticleIsolation.cxx | 7 ++++--- .../AliAnaParticleIsolation.h | 3 --- PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx | 18 +++++++++++------- PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx | 17 ++++++++++------- 7 files changed, 37 insertions(+), 24 deletions(-) diff --git a/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.cxx b/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.cxx index 13743631030..b6b42737d55 100755 --- a/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.cxx +++ b/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.cxx @@ -49,7 +49,8 @@ TObject(), fDataMC(0), fDebug(0), fCheckFidCut(0), fCheckRealCaloAcc(0), fCheckCaloPID(0), fRecalculateCaloPID(0), -fMinPt(0), fMaxPt(0), fPairTimeCut(200), +fMinPt(0), fMaxPt(0), +fPairTimeCut(200), fTRDSMCovered(-1), fMultiBin(0), fNZvertBin(0), fNrpBin(0), fNCentrBin(0), fNmaxMixEv(0), fDoOwnMix(0), diff --git a/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.h b/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.h index f2698d53490..761aefa4c19 100755 --- a/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.h +++ b/PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrBaseClass.h @@ -176,6 +176,10 @@ public: virtual void SetPairTimeCut(Float_t t) { fPairTimeCut = t ; } //ns virtual Float_t GetPairTimeCut() const { return fPairTimeCut ; } //ns + // Number of TRD modules in front of EMCAL (year <=2012) + Int_t GetFirstSMCoveredByTRD() const { return fTRDSMCovered ; } + void SetFirstSMCoveredByTRD(Int_t n) { fTRDSMCovered = n ; } + //Getters / Setters for parameters of event buffers virtual Int_t GetMultiBin() const { return fMultiBin ; } // number of bins in Multiplicity @@ -304,6 +308,8 @@ private: Float_t fMinPt ; // Maximum pt of (trigger) particles in the analysis Float_t fMaxPt ; // Minimum pt of (trigger) particles in the analysis Float_t fPairTimeCut; // Maximum difference between time of cluster pairs (ns) + Int_t fTRDSMCovered; // From which SM EMCal is covered by TRD + Int_t fMultiBin ; // Number of bins in event container for multiplicity Int_t fNZvertBin ; // Number of bins in event container for vertex position Int_t fNrpBin ; // Number of bins in event container for reaction plain @@ -338,7 +344,7 @@ private: AliAnaCaloTrackCorrBaseClass( const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy ctor AliAnaCaloTrackCorrBaseClass & operator = (const AliAnaCaloTrackCorrBaseClass & bc) ; // cpy assignment - ClassDef(AliAnaCaloTrackCorrBaseClass,23) + ClassDef(AliAnaCaloTrackCorrBaseClass,24) } ; diff --git a/PWGGA/CaloTrackCorrelations/AliAnaElectron.cxx b/PWGGA/CaloTrackCorrelations/AliAnaElectron.cxx index 6338f1822e9..ff460ce40ab 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaElectron.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaElectron.cxx @@ -262,7 +262,8 @@ void AliAnaElectron::FillShowerShapeHistograms(AliVCluster* cluster, Int_t mcTa fhLam1E[pidIndex] ->Fill(energy,lambda1); fhDispE[pidIndex] ->Fill(energy,disp); - if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) >= GetFirstSMCoveredByTRD() ) { fhLam0ETRD[pidIndex]->Fill(energy,lambda0); fhLam1ETRD[pidIndex]->Fill(energy,lambda1); @@ -663,7 +664,7 @@ TList * AliAnaElectron::GetCreateOutputObjects() fhDispE[pidIndex]->SetXTitle("E (GeV) "); outputContainer->Add(fhDispE[pidIndex]); - if(fCalorimeter == "EMCAL") + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >=0 ) { fhLam0ETRD[pidIndex] = new TH2F (Form("h%sLam0ETRD",pidParticle[pidIndex].Data()), Form("%s: #lambda_{0}^{2} vs E, EMCAL SM covered by TRD",pidParticle[pidIndex].Data()), diff --git a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx index ff073060921..f8ffd49b03d 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.cxx @@ -68,7 +68,7 @@ fFillPileUpHistograms(0), fFillTMHisto(0), fFillSSHisto(1), fFillUEBandSubtractHistograms(1), fFillCellHistograms(0), fFillHighMultHistograms(0), fFillTaggedDecayHistograms(0), -fFillNLMHistograms(0), fTRDSMCovered(-1), +fFillNLMHistograms(0), // Several IC fNCones(0), fNPtThresFrac(0), fConeSizes(), fPtThresholds(), @@ -1158,7 +1158,8 @@ void AliAnaParticleIsolation::FillTrackMatchingShowerShapeControlHistograms(AliA fhPtLambda0MC[mcIndex][isolated]->Fill(pt, cluster->GetM02()); } - if(fCalorimeter == "EMCAL" && fTRDSMCovered >= 0 && GetModuleNumber(cluster) > fTRDSMCovered) + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) >= GetFirstSMCoveredByTRD() ) { fhELambda0TRD [isolated]->Fill(energy, cluster->GetM02() ); fhPtLambda0TRD[isolated]->Fill(pt , cluster->GetM02() ); @@ -2397,7 +2398,7 @@ TList * AliAnaParticleIsolation::GetCreateOutputObjects() } } - if(fIsoDetector=="EMCAL" && fTRDSMCovered >= 0) + if(fIsoDetector=="EMCAL" && GetFirstSMCoveredByTRD() >= 0) { fhPtLambda0TRD[iso] = new TH2F (Form("hPtLambda0TRD%s",isoName[iso].Data()), diff --git a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h index b0d16898f11..b1780256785 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h +++ b/PWGGA/CaloTrackCorrelations/AliAnaParticleIsolation.h @@ -84,7 +84,6 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { Float_t GetPtThresholds(Int_t i) const { return fPtThresholds[i] ; } Float_t GetSumPtThresholds(Int_t i) const { return fSumPtThresholds[i]; } Float_t GetPtFractions(Int_t i) const { return fPtFractions[i] ; } - Int_t GetNumberOfSMCoveredByTRD() const { return fTRDSMCovered ; } Int_t GetMCIndex(Int_t mcTag); @@ -96,7 +95,6 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { void SetPtThresholds(Int_t i, Float_t pt) { fPtThresholds[i] = pt ; } void SetPtFractions(Int_t i, Float_t pt) { fPtFractions[i] = pt ; } void SetSumPtThresholds(Int_t i, Float_t pt){ fSumPtThresholds[i] = pt ; } - void SetNumberOfSMCoveredByTRD(Int_t n) { fTRDSMCovered = n ; } Bool_t IsReIsolationOn() const { return fReMakeIC ; } void SwitchOnReIsolation() { fReMakeIC = kTRUE ; } @@ -169,7 +167,6 @@ class AliAnaParticleIsolation : public AliAnaCaloTrackCorrBaseClass { Bool_t fFillHighMultHistograms; // Fill high multiplicity histograms Bool_t fFillTaggedDecayHistograms; // Fill histograms for clusters tagged as decay Bool_t fFillNLMHistograms; // Fill NLM histograms - Int_t fTRDSMCovered; // From which SM EMCal is covered by TRD // Analysis data members for multiple cones and pt thresholds Int_t fNCones ; //! Number of cone sizes to test diff --git a/PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx b/PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx index 18276fcdbf1..2953a786d90 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaPhoton.cxx @@ -652,7 +652,8 @@ void AliAnaPhoton::FillShowerShapeHistograms(AliVCluster* cluster, Int_t mcTag) fhLam1E ->Fill(energy,lambda1); fhDispE ->Fill(energy,disp); - if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) >= GetFirstSMCoveredByTRD() ) { fhLam0ETRD->Fill(energy,lambda0); fhLam1ETRD->Fill(energy,lambda1); @@ -713,7 +714,8 @@ void AliAnaPhoton::FillShowerShapeHistograms(AliVCluster* cluster, Int_t mcTag) fhLam1ETM ->Fill(energy,lambda1); fhDispETM ->Fill(energy,disp); - if(fCalorimeter == "EMCAL" && GetModuleNumber(cluster) > 5) + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) >= GetFirstSMCoveredByTRD() ) { fhLam0ETMTRD->Fill(energy,lambda0); fhLam1ETMTRD->Fill(energy,lambda1); @@ -994,7 +996,8 @@ void AliAnaPhoton::FillTrackMatchingResidualHistograms(AliVCluster* cluster, Int_t nSMod = GetModuleNumber(cluster); - if(fCalorimeter=="EMCAL" && nSMod > 5) + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + nSMod >= GetFirstSMCoveredByTRD() ) { fhTrackMatchedDEtaTRD[cut]->Fill(cluster->E(),dZ); fhTrackMatchedDPhiTRD[cut]->Fill(cluster->E(),dR); @@ -1012,7 +1015,8 @@ void AliAnaPhoton::FillTrackMatchingResidualHistograms(AliVCluster* cluster, fhdEdx[cut] ->Fill(cluster->E(), dEdx); fhEOverP[cut]->Fill(cluster->E(), eOverp); - if(fCalorimeter=="EMCAL" && nSMod > 5) + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + nSMod >= GetFirstSMCoveredByTRD() ) fhEOverPTRD[cut]->Fill(cluster->E(), eOverp); @@ -1305,7 +1309,7 @@ TList * AliAnaPhoton::GetCreateOutputObjects() outputContainer->Add(fhDispETM); } - if(fCalorimeter == "EMCAL") + if(fCalorimeter == "EMCAL" && GetFirstSMCoveredByTRD() >= 0) { fhLam0ETRD = new TH2F ("hLam0ETRD","#lambda_{0}^{2} vs E, EMCAL SM covered by TRD", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); fhLam0ETRD->SetYTitle("#lambda_{0}^{2}"); @@ -1322,7 +1326,7 @@ TList * AliAnaPhoton::GetCreateOutputObjects() fhDispETRD->SetXTitle("#it{E} (GeV) "); outputContainer->Add(fhDispETRD); - if(!fRejectTrackMatch) + if(!fRejectTrackMatch && GetFirstSMCoveredByTRD() >=0 ) { fhLam0ETMTRD = new TH2F ("hLam0ETMTRD","#lambda_{0}^{2} vs E, EMCAL SM covered by TRD, cut on track-matching residual |#Delta #eta| < 0.05, |#Delta #phi| < 0.05", nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); fhLam0ETMTRD->SetYTitle("#lambda_{0}^{2}"); @@ -1591,7 +1595,7 @@ TList * AliAnaPhoton::GetCreateOutputObjects() outputContainer->Add(fhdEdx[i]); outputContainer->Add(fhEOverP[i]); - if(fCalorimeter=="EMCAL") + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >=0 ) { fhTrackMatchedDEtaTRD[i] = new TH2F (Form("hTrackMatchedDEtaTRD%s",cutTM[i].Data()), diff --git a/PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx b/PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx index 00128109f48..124e13147d1 100755 --- a/PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx +++ b/PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx @@ -552,7 +552,8 @@ void AliAnaPi0EbE::FillSelectedClusterHistograms(AliVCluster* cluster, Float_t p } - if(fCalorimeter=="EMCAL" && nSM < 6) // CAREFUL FOR 2012-13 runs change 6 to 4, -1 for 2015 ... + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) < GetFirstSMCoveredByTRD() ) { fhPtLambda0NoTRD ->Fill(pt, l0 ); fhPtFracMaxCellNoTRD->Fill(pt,maxCellFraction); @@ -617,7 +618,9 @@ void AliAnaPi0EbE::FillSelectedClusterHistograms(AliVCluster* cluster, Float_t p fhEOverP->Fill(pt, eOverp); // Change nSM for year > 2011 (< 4 in 2012-13, none after) - if(fCalorimeter=="EMCAL" && nSM < 6) fhEOverPNoTRD->Fill(pt, eOverp); + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) < GetFirstSMCoveredByTRD() ) + fhEOverPNoTRD->Fill(pt, eOverp); } //else @@ -663,8 +666,8 @@ void AliAnaPi0EbE::FillSelectedClusterHistograms(AliVCluster* cluster, Float_t p fhMCPtLambda0LocMax [mcIndex][indexMax]->Fill(pt,l0); - // Change nSM for year > 2011 (< 4 in 2012-13, none after) - if(fCalorimeter=="EMCAL" && nSM < 6) + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0 && + GetModuleNumber(cluster) < GetFirstSMCoveredByTRD() ) fhMCPtLambda0NoTRD[mcIndex]->Fill(pt, l0 ); if(maxCellFraction < 0.5) @@ -1152,7 +1155,7 @@ TList * AliAnaPi0EbE::GetCreateOutputObjects() fhPtFracMaxCell->SetXTitle("#it{p}_{T} (GeV/#it{c})"); outputContainer->Add(fhPtFracMaxCell) ; - if(fCalorimeter=="EMCAL") + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >=0 ) { fhPtLambda0NoTRD = new TH2F ("hPtLambda0NoTRD","Selected #pi^{0} (#eta) pairs: #it{p}_{T} vs #lambda_{0}, not behind TRD",nptbins,ptmin,ptmax,ssbins,ssmin,ssmax); @@ -1461,7 +1464,7 @@ TList * AliAnaPi0EbE::GetCreateOutputObjects() fhEOverP->SetYTitle("#it{E}/#it{p}"); outputContainer->Add(fhEOverP); - if(fCalorimeter=="EMCAL") + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >=0) { fhEOverPNoTRD = new TH2F ("hEOverPNoTRD","matched track E/p vs cluster E, SM not behind TRD ", nptbins,ptmin,ptmax,nPoverEbins,pOverEmin,pOverEmax); fhEOverPNoTRD->SetXTitle("#it{E} (GeV)"); @@ -1831,7 +1834,7 @@ TList * AliAnaPi0EbE::GetCreateOutputObjects() fhMCPtDispersion[i]->SetXTitle("#it{p}_{T} (GeV/#it{c})"); outputContainer->Add(fhMCPtDispersion[i]) ; - if(fCalorimeter=="EMCAL") + if(fCalorimeter=="EMCAL" && GetFirstSMCoveredByTRD() >= 0) { fhMCPtLambda0NoTRD[i] = new TH2F(Form("hELambda0NoTRD_MC%s",pname[i].Data()), Form("Selected pair, cluster from %s : #it{p}_{T} vs #lambda_{0}^{2}, NoTRD",ptype[i].Data()), -- 2.43.5