20 #include <THashList.h>
23 #include "AliAnalysisUtils.h"
24 #include "AliAODTrack.h"
25 #include "AliEMCALGeometry.h"
26 #include "AliEMCALRecoUtils.h"
27 #include "AliESDtrackCuts.h"
28 #include "AliESDEvent.h"
29 #include "AliESDtrack.h"
30 #include "AliInputEventHandler.h"
31 #include "AliVVertex.h"
41 namespace EMCalTriggerPtAnalysis {
46 AliAnalysisTaskChargedParticlesRef::AliAnalysisTaskChargedParticlesRef() :
52 fTriggerStringFromPatches(kFALSE),
61 for(
int itrg = 0; itrg <
kCPRntrig; itrg++){
71 AliAnalysisTaskSE(name),
76 fTriggerStringFromPatches(kFALSE),
85 for(
int itrg = 0; itrg <
kCPRntrig; itrg++){
88 DefineOutput(1, TList::Class());
106 fTrackCuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(
true, 1);
109 fTrackCuts->SetMaxDCAToVertexXYPtDep(
"0.0182+0.0350/pt^1.01");
111 TArrayD oldbinning, newbinning;
123 TString triggers[17] = {
125 "EJ1",
"EJ2",
"EG1",
"EG2",
126 "EMC7excl",
"EG1excl",
"EG2excl",
"EJ1excl",
"EJ2excl",
127 "E1combined",
"E1Jonly",
"E1Gonly",
"E2combined",
"E2Jonly",
"E2Gonly"
129 Double_t ptcuts[5] = {1., 2., 5., 10., 20.};
130 for(TString *trg = triggers; trg < triggers +
sizeof(triggers)/
sizeof(TString); trg++){
131 fHistos->
CreateTH1(Form(
"hEventCount%s", trg->Data()), Form(
"Event Counter for trigger class %s", trg->Data()), 1, 0.5, 1.5);
132 fHistos->
CreateTH1(Form(
"hVertexBefore%s", trg->Data()), Form(
"Vertex distribution before z-cut for trigger class %s", trg->Data()), 500, -50, 50);
133 fHistos->
CreateTH1(Form(
"hVertexAfter%s", trg->Data()), Form(
"Vertex distribution after z-cut for trigger class %s", trg->Data()), 100, -10, 10);
134 fHistos->
CreateTH1(Form(
"hPtEtaAllOldBinning%s", trg->Data()), Form(
"Charged particle pt distribution all eta old binning trigger %s", trg->Data()), oldbinning);
135 fHistos->
CreateTH1(Form(
"hPtEtaCentOldBinning%s", trg->Data()), Form(
"Charged particle pt distribution central eta old binning trigger %s", trg->Data()), oldbinning);
136 fHistos->
CreateTH1(Form(
"hPtEtaAllNewBinning%s", trg->Data()), Form(
"Charged particle pt distribution all eta new binning trigger %s", trg->Data()), newbinning);
137 fHistos->
CreateTH1(Form(
"hPtEtaCentNewBinning%s", trg->Data()), Form(
"Charged particle pt distribution central eta new binning trigger %s", trg->Data()), newbinning);
138 fHistos->
CreateTH1(Form(
"hPtEMCALEtaAllOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL pt distribution all eta old binning trigger %s", trg->Data()), oldbinning);
139 fHistos->
CreateTH1(Form(
"hPtEMCALEtaCentOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL pt distribution central eta old binning trigger %s", trg->Data()), oldbinning);
140 fHistos->
CreateTH1(Form(
"hPtEMCALEtaAllNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL pt distribution all eta new binning trigger %s", trg->Data()), newbinning);
141 fHistos->
CreateTH1(Form(
"hPtEMCALEtaCentNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL pt distribution central eta new binning trigger %s", trg->Data()), newbinning);
142 fHistos->
CreateTH1(Form(
"hPtEMCALNoTRDEtaAllOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (no TRD in front) pt distribution all eta old binning trigger %s", trg->Data()), oldbinning);
143 fHistos->
CreateTH1(Form(
"hPtEMCALNoTRDEtaCentOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (no TRD in front) pt distribution central eta old binning trigger %s", trg->Data()), oldbinning);
144 fHistos->
CreateTH1(Form(
"hPtEMCALNoTRDEtaAllNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (no TRD in front) pt distribution all eta new binning trigger %s", trg->Data()), newbinning);
145 fHistos->
CreateTH1(Form(
"hPtEMCALNoTRDEtaCentNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (no TRD in front) pt distribution central eta new binning trigger %s", trg->Data()), newbinning);
146 fHistos->
CreateTH1(Form(
"hPtEMCALWithTRDEtaAllOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (with TRD in front) pt distribution all eta old binning trigger %s", trg->Data()), oldbinning);
147 fHistos->
CreateTH1(Form(
"hPtEMCALWithTRDEtaCentOldBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (with TRD in front) pt distribution central eta old binning trigger %s", trg->Data()), oldbinning);
148 fHistos->
CreateTH1(Form(
"hPtEMCALWithTRDEtaAllNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (with TRD in front) pt distribution all eta new binning trigger %s", trg->Data()), newbinning);
149 fHistos->
CreateTH1(Form(
"hPtEMCALWithTRDEtaCentNewBinning%s", trg->Data()), Form(
"Charged particle in EMCAL (with TRD in front) pt distribution central eta new binning trigger %s", trg->Data()), newbinning);
150 for(
int ipt = 0; ipt < 5; ipt++){
152 Form(
"hEtaLabDistAllPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
153 Form(
"Eta (lab) distribution without etacut for tracks with Pt above 1 GeV/c trigger %s", trg->Data()),
159 Form(
"hEtaLabDistCutPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
160 Form(
"Eta (lab) distribution with etacut for tracks with Pt above 1 GeV/c trigger %s", trg->Data()),
166 Form(
"hEtaCentDistAllPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
167 Form(
"Eta (cent) distribution without etacut for tracks with Pt above 1 GeV/c trigger %s",
174 Form(
"hEtaCentDistCutPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
175 Form(
"Eta (cent) distribution with etacut for tracks with Pt above 1 GeV/c trigger %s", trg->Data()),
181 Form(
"hEtaLabDistAllEMCALPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
182 Form(
"Eta (lab) distribution without etacut for tracks in EMCAL with Pt above %.1f GeV/c trigger %s", ptcuts[ipt], trg->Data()),
188 Form(
"hEtaLabDistCutEMCALPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
189 Form(
"Eta (lab) distribution with etacut for tracks in EMCAL with Pt above %.1f GeV/c trigger %s", ptcuts[ipt], trg->Data()),
195 Form(
"hEtaCentDistAllEMCALPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
196 Form(
"Eta (cent) distribution without etacut for tracks in EMCAL with Pt above %.1f GeV/c trigger %s", ptcuts[ipt], trg->Data()),
202 Form(
"hEtaCentDistCutEMCALPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
203 Form(
"Eta (cent) distribution with etacut for tracks in EMCAL with Pt above %.1f GeV/c trigger %s", ptcuts[ipt], trg->Data()),
209 Form(
"hPhiDistAllPt%d%s", static_cast<Int_t>(ptcuts[ipt]), trg->Data()),
210 Form(
"#phi distribution of particles with Pt above %.1f GeV/c trigger %s", ptcuts[ipt], trg->Data()),
233 TClonesArray *triggerpatches =
static_cast<TClonesArray *
>(fInputEvent->FindListObject(
"EmcalTriggers"));
234 TString triggerstring =
"";
238 triggerstring = fInputEvent->GetFiredTriggerClasses();
240 UInt_t selectionstatus = fInputHandler->IsEventSelected();
241 Bool_t isMinBias = selectionstatus & AliVEvent::kINT7,
242 isEJ1 = (selectionstatus & AliVEvent::kEMCEJE) && triggerstring.Contains(
"EJ1") &&
IsOfflineSelected(
kCPREJ1, triggerpatches),
243 isEJ2 = (selectionstatus & AliVEvent::kEMCEJE) && triggerstring.Contains(
"EJ2") &&
IsOfflineSelected(
kCPREJ2, triggerpatches),
244 isEG1 = (selectionstatus & AliVEvent::kEMCEGA) && triggerstring.Contains(
"EG1") &&
IsOfflineSelected(
kCPREG1, triggerpatches),
245 isEG2 = (selectionstatus & AliVEvent::kEMCEGA) && triggerstring.Contains(
"EG2") &&
IsOfflineSelected(
kCPREG2, triggerpatches),
246 isEMC7 = (selectionstatus & AliVEvent::kEMC7) && triggerstring.Contains(
"CEMC7") &&
IsOfflineSelected(
kCPREL0, triggerpatches);
247 if(!(isMinBias || isEMC7 || isEG1 || isEG2 || isEJ1 || isEJ2))
return;
248 const AliVVertex *vtx = fInputEvent->GetPrimaryVertex();
250 if(vtx->GetNContributors() < 1)
return;
251 if(fInputEvent->IsA() == AliESDEvent::Class() &&
fAnalysisUtil->IsFirstEventInChunk(fInputEvent))
return;
252 bool isSelected = kTRUE;
253 if(!
fAnalysisUtil->IsVertexSelected2013pA(fInputEvent)) isSelected = kFALSE;
254 if(
fAnalysisUtil->IsPileUpEvent(fInputEvent)) isSelected = kFALSE;
256 if(vtx->GetZ() < -10. || vtx->GetZ() > 10.) isSelected = kFALSE;
283 if(!(isMinBias || isEJ2)){
298 if(!(isEJ1 || isEJ2)){
305 if(!(isMinBias || isEG2 )){
308 if(!(isEJ1 || isEJ2)){
313 if(!isSelected)
return;
324 AliVTrack *checktrack(NULL);
325 int ptmin[5] = {1,2,5,10,20};
326 Bool_t isEMCAL(kFALSE), hasTRD(kFALSE);
327 Double_t etaEMCAL(0.), phiEMCAL(0.);
328 for(
int itrk = 0; itrk < fInputEvent->GetNumberOfTracks(); ++itrk){
329 checktrack =
dynamic_cast<AliVTrack *
>(fInputEvent->GetTrack(itrk));
330 if(!checktrack)
continue;
332 if(TMath::Abs(checktrack->Pt()) < 0.1)
continue;
333 if(checktrack->IsA() == AliESDtrack::Class()){
334 AliESDtrack copytrack(*(static_cast<AliESDtrack *>(checktrack)));
335 AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(©track);
336 etaEMCAL = copytrack.GetTrackEtaOnEMCal();
337 phiEMCAL = copytrack.GetTrackPhiOnEMCal();
339 AliAODTrack copytrack(*(static_cast<AliAODTrack *>(checktrack)));
340 AliEMCALRecoUtils::ExtrapolateTrackToEMCalSurface(©track);
341 etaEMCAL = copytrack.GetTrackEtaOnEMCal();
342 phiEMCAL = copytrack.GetTrackPhiOnEMCal();
344 Int_t supermoduleID = -1;
345 isEMCAL =
fGeometry->SuperModuleNumberFromEtaPhi(etaEMCAL, phiEMCAL, supermoduleID);
347 isEMCAL = isEMCAL && supermoduleID < 10;
348 hasTRD = isEMCAL && supermoduleID >= 4;
353 Double_t etacent = -1. * checktrack->Eta() - TMath::Abs(
fYshift);
359 AliESDtrack *esdtrack(NULL);
360 AliAODTrack *aodtrack(NULL);
361 if((esdtrack = dynamic_cast<AliESDtrack *>(checktrack))){
363 }
else if((aodtrack = dynamic_cast<AliAODTrack *>(checktrack))){
371 FillTrackHistos(
"MB", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
374 FillTrackHistos(
"EMC7", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
376 FillTrackHistos(
"EMC7excl", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
380 FillTrackHistos(
"EJ2", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
383 FillTrackHistos(
"EJ2excl", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
386 FillTrackHistos(
"E2combined", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
388 FillTrackHistos(
"E2Jonly", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
392 FillTrackHistos(
"EJ1", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
394 if(!(isMinBias || isEJ2)){
395 FillTrackHistos(
"EJ1excl", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
398 FillTrackHistos(
"E1combined", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
400 FillTrackHistos(
"E1Jonly", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
404 FillTrackHistos(
"EG2", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
407 FillTrackHistos(
"EG2excl", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
409 if(!(isEJ2 || isEJ1)){
410 FillTrackHistos(
"E2Gonly", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
414 FillTrackHistos(
"EG1", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
415 if(!(isMinBias || isEG2)){
416 FillTrackHistos(
"EG1excl", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
418 if(!(isEJ1 || isEJ2)){
419 FillTrackHistos(
"E1Gonly", checktrack->Pt(), checktrack->Eta() *
fEtaSign, etacent, checktrack->Phi(), etacentcut, isEMCAL, hasTRD);
433 const char *triggerclass,
458 const char *eventclass,
468 fHistos->
FillTH1(Form(
"hPtEtaAllNewBinning%s", eventclass), TMath::Abs(pt));
469 fHistos->
FillTH1(Form(
"hPtEtaAllOldBinning%s", eventclass), TMath::Abs(pt));
471 fHistos->
FillTH1(Form(
"hPtEMCALEtaAllNewBinning%s", eventclass), TMath::Abs(pt));
472 fHistos->
FillTH1(Form(
"hPtEMCALEtaAllOldBinning%s", eventclass), TMath::Abs(pt));
474 fHistos->
FillTH1(Form(
"hPtEMCALWithTRDEtaAllNewBinning%s", eventclass), TMath::Abs(pt));
475 fHistos->
FillTH1(Form(
"hPtEMCALWithTRDEtaAllOldBinning%s", eventclass), TMath::Abs(pt));
477 fHistos->
FillTH1(Form(
"hPtEMCALNoTRDEtaAllNewBinning%s", eventclass), TMath::Abs(pt));
478 fHistos->
FillTH1(Form(
"hPtEMCALNoTRDEtaAllOldBinning%s", eventclass), TMath::Abs(pt));
482 int ptmin[5] = {1,2,5,10,20};
483 for(
int icut = 0; icut < 5; icut++){
484 if(TMath::Abs(pt) > static_cast<double>(ptmin[icut])){
485 fHistos->
FillTH1(Form(
"hPhiDistAllPt%d%s", ptmin[icut], eventclass), phi);
486 fHistos->
FillTH1(Form(
"hEtaLabDistAllPt%d%s", ptmin[icut], eventclass), etalab);
487 fHistos->
FillTH1(Form(
"hEtaCentDistAllPt%d%s", ptmin[icut], eventclass), etacent);
489 fHistos->
FillTH1(Form(
"hEtaLabDistAllEMCALPt%d%s", ptmin[icut], eventclass), etalab);
490 fHistos->
FillTH1(Form(
"hEtaCentDistAllEMCALPt%d%s", ptmin[icut], eventclass), etacent);
496 fHistos->
FillTH1(Form(
"hPtEtaCentNewBinning%s", eventclass), TMath::Abs(pt));
497 fHistos->
FillTH1(Form(
"hPtEtaCentOldBinning%s", eventclass), TMath::Abs(pt));
499 fHistos->
FillTH1(Form(
"hPtEMCALEtaCentNewBinning%s", eventclass), TMath::Abs(pt));
500 fHistos->
FillTH1(Form(
"hPtEMCALEtaCentOldBinning%s", eventclass), TMath::Abs(pt));
502 fHistos->
FillTH1(Form(
"hPtEMCALWithTRDEtaCentNewBinning%s", eventclass), TMath::Abs(pt));
503 fHistos->
FillTH1(Form(
"hPtEMCALWithTRDEtaCentOldBinning%s", eventclass), TMath::Abs(pt));
505 fHistos->
FillTH1(Form(
"hPtEMCALNoTRDEtaCentNewBinning%s", eventclass), TMath::Abs(pt));
506 fHistos->
FillTH1(Form(
"hPtEMCALNoTRDEtaCentOldBinning%s", eventclass), TMath::Abs(pt));
509 for(
int icut = 0; icut < 5; icut++){
510 if(TMath::Abs(pt) > static_cast<double>(ptmin[icut])){
511 fHistos->
FillTH1(Form(
"hEtaLabDistCutPt%d%s", ptmin[icut], eventclass), etalab);
512 fHistos->
FillTH1(Form(
"hEtaCentDistCutPt%d%s", ptmin[icut], eventclass), etacent);
514 fHistos->
FillTH1(Form(
"hEtaLabDistCutEMCALPt%d%s", ptmin[icut], eventclass), etalab);
515 fHistos->
FillTH1(Form(
"hEtaCentDistCutEMCALPt%d%s", ptmin[icut], eventclass), etacent);
528 std::vector<double> mybinning;
529 std::map<double,double> definitions;
530 definitions.insert(std::pair<double,double>(2.5, 0.1));
531 definitions.insert(std::pair<double,double>(7., 0.25));
532 definitions.insert(std::pair<double,double>(15., 0.5));
533 definitions.insert(std::pair<double,double>(25., 1.));
534 definitions.insert(std::pair<double,double>(40., 2.5));
535 definitions.insert(std::pair<double,double>(50., 5.));
536 definitions.insert(std::pair<double,double>(100., 10.));
537 double currentval = 0;
538 for(std::map<double,double>::iterator
id = definitions.begin();
id != definitions.end(); ++id){
539 double limit =
id->first, binwidth =
id->second;
540 while(currentval < limit){
541 currentval += binwidth;
542 mybinning.push_back(currentval);
545 binning.Set(mybinning.size());
547 for(std::vector<double>::iterator it = mybinning.begin(); it != mybinning.end(); ++it)
556 std::vector<double> mybinning;
557 std::map<double,double> definitions;
558 definitions.insert(std::pair<double, double>(1, 0.05));
559 definitions.insert(std::pair<double, double>(2, 0.1));
560 definitions.insert(std::pair<double, double>(4, 0.2));
561 definitions.insert(std::pair<double, double>(7, 0.5));
562 definitions.insert(std::pair<double, double>(16, 1));
563 definitions.insert(std::pair<double, double>(36, 2));
564 definitions.insert(std::pair<double, double>(40, 4));
565 definitions.insert(std::pair<double, double>(50, 5));
566 definitions.insert(std::pair<double, double>(100, 10));
567 definitions.insert(std::pair<double, double>(200, 20));
568 double currentval = 0.;
569 mybinning.push_back(currentval);
570 for(std::map<double,double>::iterator
id = definitions.begin();
id != definitions.end(); ++id){
571 double limit =
id->first, binwidth =
id->second;
572 while(currentval < limit){
573 currentval += binwidth;
574 mybinning.push_back(currentval);
577 binning.Set(mybinning.size());
579 for(std::vector<double>::iterator it = mybinning.begin(); it != mybinning.end(); ++it)
598 if(!track->TestFilterBit(AliAODTrack::kTrkGlobal))
return false;
599 if(track->GetTPCNCrossedRows() < 120)
return false;
616 for(TIter patchIter = TIter(triggerpatches).Begin(); patchIter != TIter::End(); ++patchIter){
635 TString triggerstring =
"";
636 Int_t nEJ1 = 0, nEJ2 = 0, nEG1 = 0, nEG2 = 0;
637 double minADC_EJ1 = 260.,
641 for(TIter patchIter = TIter(triggerpatches).Begin(); patchIter != TIter::End(); ++patchIter){
649 if(nEJ1) triggerstring +=
"EJ1";
651 if(triggerstring.Length()) triggerstring +=
",";
652 triggerstring +=
"EJ2";
655 if(triggerstring.Length()) triggerstring +=
",";
656 triggerstring +=
"EG1";
659 if(triggerstring.Length()) triggerstring +=
",";
660 triggerstring +=
"EG2";
662 return triggerstring;
ClassImp(AliAnalysisTaskTriggerRates) AliAnalysisTaskTriggerRates
Bool_t IsGammaHighSimple() const
Double_t fEtaSign
Sign of the eta distribution (swaps when beam directions swap): p-Pb: +1, Pb-p: -1.
Bool_t IsJetHighSimple() const
void UserCreateOutputObjects()
virtual ~AliAnalysisTaskChargedParticlesRef()
Unit test class for charged particle distributions.
Double_t fOfflineEnergyThreshold[kCPRntrig]
Threhold applied on offline patches.
void FillTrackHistos(const char *eventclass, Double_t pt, Double_t eta, Double_t etacent, Double_t phi, Bool_t etacut, Bool_t inEmcal, Bool_t hasTRD)
THashList * GetListOfHistograms()
void CreateTH1(const char *name, const char *title, int nbins, double xmin, double xmax, Option_t *opt="")
Container class for histograms for the high- charged particle analysis.
TString GetFiredTriggerClassesFromPatches(const TClonesArray *triggerpatches) const
AliEMCALGeometry * fGeometry
EMCAL geometry methods.
Double_t fYshift
Rapidity shift.
Bool_t TrackSelectionAOD(AliAODTrack *track)
Main data structure storing all relevant information of EMCAL/DCAL trigger patches.
Bool_t fTriggerStringFromPatches
Do rebuild the trigger string from trigger patches.
AliAnalysisTaskChargedParticlesRef()
Declarartion of class AliEMCalHistoContainer.
void CreateNewPtBinning(TArrayD &binning) const
void FillEventCounterHists(const char *triggerclass, double vtxz, bool isSelected)
Double_t GetPatchE() const
Bool_t IsOfflineSelected(EmcalTriggerClass trgcls, const TClonesArray *const triggerpatches) const
AliEMCalHistoContainer * fHistos
Histogram manager.
AliAnalysisUtils * fAnalysisUtil
Event selection.
void UserExec(Option_t *)
Int_t GetADCOfflineAmp() const
Double_t fEtaCmsCut[2]
Cut applied in Eta centre-of-mass frame.
Bool_t IsGammaLowSimple() const
Class to make array of trigger patch objects in AOD/ESD events.
Int_t GetRunNumber(TString)
void FillTH1(const char *hname, double x, double weight=1.)
Bool_t IsJetLowSimple() const
Double_t fEtaLabCut[2]
Cut applied in Eta Lab frame.
Bool_t TrackSelectionESD(AliESDtrack *track)
void CreateOldPtBinning(TArrayD &binning) const
AliESDtrackCuts * fTrackCuts
Standard track selection.
Bool_t IsOfflineSimple() const