From 5fe1ca23cd05d22026225ee094872afac0f05260 Mon Sep 17 00:00:00 2001 From: loizides Date: Wed, 20 Apr 2011 13:54:00 +0000 Subject: [PATCH] store a bit more information on cells/clusters --- .../CaloCalib/AliAnalysisTaskEMCALPi0PbPb.cxx | 68 ++++++++++++++++++- PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h | 24 ++++++- 2 files changed, 87 insertions(+), 5 deletions(-) diff --git a/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.cxx b/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.cxx index d9cbdf6ee4e..5f0b3a8d09c 100644 --- a/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.cxx +++ b/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.cxx @@ -25,6 +25,7 @@ #include "AliEMCALRecoUtils.h" #include "AliESDCaloTrigger.h" #include "AliESDEvent.h" +#include "AliESDUtils.h" #include "AliESDVertex.h" #include "AliESDtrack.h" #include "AliESDtrackCuts.h" @@ -33,6 +34,7 @@ #include "AliInputEventHandler.h" #include "AliLog.h" #include "AliMagF.h" +#include "AliMultiplicity.h" #include "AliTrackerBase.h" ClassImp(AliAnalysisTaskEMCALPi0PbPb) @@ -180,7 +182,6 @@ void AliAnalysisTaskEMCALPi0PbPb::UserCreateOutputObjects() cout << " fGeoName: \"" << fGeoName << "\"" << endl; cout << " fMinNClusPerTr: " << fMinNClusPerTr << endl; cout << " fTrClassNames: \"" << fTrClassNames << "\"" << endl; - cout << " fDoNtuple: " << fDoNtuple << endl; cout << " fTrCuts: " << fTrCuts << endl; cout << " fPrimTrCuts: " << fPrimTrCuts << endl; cout << " fDoTrMatGeom: " << fDoTrMatGeom << endl; @@ -755,7 +756,7 @@ void AliAnalysisTaskEMCALPi0PbPb::CalcCaloTriggers() if (pos<0) continue; if (trigInTimeWindow) - fAmpInTrigger[pos] = amp; // save for usage in CalcClusProperties + fAmpInTrigger[pos] = amp; Float_t eta=-1, phi=-1; fGeom->EtaPhiFromIndex(cidx[i],eta,phi); Double_t en= cells->GetAmplitude(pos); @@ -1331,6 +1332,12 @@ void AliAnalysisTaskEMCALPi0PbPb::FillNtuple() fHeader->fTrCluster = fEsdEv->GetHeader()->GetTriggerCluster(); fHeader->fOffTriggers = ((AliInputEventHandler*)(am->GetInputEventHandler()))->IsEventSelected(); fHeader->fFiredTriggers = fEsdEv->GetFiredTriggerClasses(); + Float_t v0CorrR = 0; + fHeader->fV0 = AliESDUtils::GetCorrV0(fEsdEv,v0CorrR); + const AliMultiplicity *mult = fEsdEv->GetMultiplicity(); + if (mult) + fHeader->fCl1 = mult->GetNumberOfITSClusters(1); + fHeader->fTr = AliESDtrackCuts::GetReferenceMultiplicity(fEsdEv,1); } AliCentrality *cent = InputEvent()->GetCentrality(); fHeader->fV0Cent = cent->GetCentralityPercentileUnchecked("V0M"); @@ -1359,6 +1366,63 @@ void AliAnalysisTaskEMCALPi0PbPb::FillNtuple() } fHeader->fTcls = (UInt_t)val; + fHeader->fNSelTr = fSelTracks->GetEntries(); + fHeader->fNSelPrimTr = fSelPrimTracks->GetEntries(); + + fHeader->fNCells = 0; + fHeader->fNCells1 = 0; + fHeader->fNCells2 = 0; + fHeader->fNCells5 = 0; + fHeader->fMaxCellE = 0; + + AliVCaloCells *cells = fEsdCells; + if (!cells) + cells = fAodCells; + + if (cells) { + Int_t ncells = cells->GetNumberOfCells(); + for(Int_t j=0; jGetAmplitude(j); + if (cellen>1) + ++fHeader->fNCells1; + if (cellen>2) + ++fHeader->fNCells2; + if (cellen>5) + ++fHeader->fNCells5; + if (cellen>fHeader->fMaxCellE) + fHeader->fMaxCellE = cellen; + } + fHeader->fNCells = ncells; + } + + fHeader->fNClus = 0; + fHeader->fNClus1 = 0; + fHeader->fNClus2 = 0; + fHeader->fNClus5 = 0; + fHeader->fMaxClusE = 0; + + TObjArray *clusters = fEsdClusters; + if (!clusters) + clusters = fAodClusters; + + if (clusters) { + Int_t nclus = clusters->GetEntries(); + for(Int_t j=0; j(clusters->At(j)); + Double_t clusen = clus->E(); + if (clusen>1) + ++fHeader->fNClus1; + if (clusen>2) + ++fHeader->fNClus2; + if (clusen>5) + ++fHeader->fNClus5; + if (clusen>fHeader->fMaxClusE) + fHeader->fMaxClusE = clusen; + } + fHeader->fNClus = nclus; + } + + if (fAodEv) { am->LoadBranch("vertices"); AliAODVertex *pv = fAodEv->GetPrimaryVertex(); diff --git a/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h b/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h index dbfe8fa0c08..9e9ef9139f5 100644 --- a/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h +++ b/PWG4/CaloCalib/AliAnalysisTaskEMCALPi0PbPb.h @@ -188,8 +188,11 @@ class AliStaHeader public: AliStaHeader() : fRun(0), fOrbit(0), fPeriod(0), fBx(0), fL0(0), fL1(0), fL2(0), fTrClassMask(0), fTrCluster(0), fOffTriggers(0), fFiredTriggers(), - fTcls(0), fV0Cent(0), fCl1Cent(0), fTrCent(0), fCqual(-1), - fPsi(0), fPsiRes(0) {;} + fTcls(0), fV0Cent(0), fV0(0), fCl1Cent(0), fCl1(0), fTrCent(0), fTr(0), + fCqual(-1), fPsi(0), fPsiRes(0), fNSelTr(0), fNSelPrimTr(0), + fNCells(0), fNCells1(0), fNCells2(0), fNCells5(0), + fNClus(0), fNClus1(0), fNClus2(0), fNClus5(0), + fMaxCellE(0), fMaxClusE(0) {;} virtual ~AliStaHeader() {;} public: @@ -206,13 +209,28 @@ class AliStaHeader TString fFiredTriggers; // string with fired triggers UInt_t fTcls; // custom trigger definition Double32_t fV0Cent; //[0,0,16] v0 cent + Double32_t fV0; //[0,0,16] v0 result used for cent Double32_t fCl1Cent; //[0,0,16] cl1 cent + Double32_t fCl1; //[0,0,16] cl1 result used for cent Double32_t fTrCent; //[0,0,16] tr cent + Double32_t fTr; //[0,0,16] tr result used for cent Int_t fCqual; // centrality quality Double32_t fPsi; //[0,0,16] event-plane angle Double32_t fPsiRes; //[0,0,16] event-plane ange resolution + UShort_t fNSelTr; // # selected tracks + UShort_t fNSelPrimTr; // # selected tracks (primary) + UShort_t fNCells; // # cells + UShort_t fNCells1; // # cells > 1 GeV + UShort_t fNCells2; // # cells > 2 GeV + UShort_t fNCells5; // # cells > 5 GeV + UShort_t fNClus; // # clus + UShort_t fNClus1; // # clus > 1 GeV + UShort_t fNClus2; // # clus > 2 GeV + UShort_t fNClus5; // # clus > 5 GeV + Double32_t fMaxCellE; //[0,0,16] maximum cell energy + Double32_t fMaxClusE; //[0,0,16] maximum clus energy - ClassDef(AliStaHeader,2) // Header class + ClassDef(AliStaHeader,3) // Header class }; class AliStaVertex -- 2.43.5