18 #include <THashList.h>
19 #include <THistManager.h>
22 #include "AliAODMCParticle.h"
26 #include "AliVCluster.h"
27 #include "AliVEvent.h"
28 #include "AliVParticle.h"
29 #include "AliVTrack.h"
30 #include "AliVVertex.h"
42 namespace EMCalTriggerPtAnalysis {
44 AliAnalysisTaskEmcalTriggerEmulation::AliAnalysisTaskEmcalTriggerEmulation() :
54 fPhiRange(0, 2*TMath::Pi())
71 fPhiRange(0, 2*TMath::Pi())
95 binfact.
Create(&binhandler);
97 std::stringstream kinestring;
101 fHistManager->CreateTH1(
"hEvents",
"Event counter", 1, 0.5, 1.5);
102 fHistManager->CreateTH1(
"hVertexZ",
"z-component of the primary vertex", 100, -40, 40);
117 const AliAODMCParticle *mcpart(
nullptr);
120 mcpart =
static_cast<const AliAODMCParticle *
>(mcen);
121 if(!mcpart->IsPhysicalPrimary())
continue;
122 if(mcpart->Charge() == 0)
continue;
125 fHistManager->FillTH1(
"hParticles", TMath::Abs(mcpart->Pt()), weight);
133 fHistManager->FillTH1(
"hVertexZ", InputEvent()->GetPrimaryVertex()->GetZ(), weight);
136 const AliVCluster *clust(
nullptr);
138 clust =
static_cast<const AliVCluster *
>(clusten);
139 fHistManager->FillTH1(
"hClusters", TMath::Abs(clust->E()), weight);
144 const AliVTrack *track(
nullptr);
145 const AliAODMCParticle *assocMC(
nullptr), *tmp(
nullptr);
147 track =
static_cast<const AliVTrack *
>(tracken);
148 double pt = TMath::Abs(track->Pt());
151 tmp =
static_cast<const AliAODMCParticle *
>(mcen);
152 if(TMath::Abs(tmp->GetLabel()) == TMath::Abs(track->GetLabel())){
157 if(!assocMC)
continue;
158 if(!assocMC->IsPhysicalPrimary())
continue;
159 pt = TMath::Abs(assocMC->Pt());
AliAnalysisTaskEmcalTriggerEmulation()
const TArrayD & GetBinning() const
Base task in the EMCAL framework.
void Create(AliEMCalTriggerBinningComponent *const data)
TString fNameTracks
Name of the track container.
Emulate EMCAL trigger offline in simulation, and monitor reference distribution.
const AliEMCalTriggerWeightHandler * fkWeightHandler
Handler containing bin weights for -hard productions.
Global binning handler used by several analysis components.
AliCutValueRange< double > fEtaRange
Acceptance range for particles and tracks in -direction.
THistManager * fHistManager
Handler for output histograms.
AliGenPythiaEventHeader * fPythiaHeader
!event Pythia header
AliClusterContainer * GetClusterContainer(Int_t i=0) const
AliEMCalTriggerBinningDimension * GetBinning(const char *name) const
virtual void UserCreateOutputObjects()
Global binning definition for the high- charged particle analysis.
virtual ~AliAnalysisTaskEmcalTriggerEmulation()
TString fNameMCParticles
Name of the MC particle container.
bool SelectEvent(const AliEmcalContainer *const cont) const
double GetEventWeight(const AliMCEvent *const event) const
AliEmcalList * fOutput
!output list
AliMCParticleContainer * GetMCParticleContainer(Int_t i=0) const
const AliEmcalTriggerEmulation * fkTriggerEmulation
Offline emulation of the EMCAL trigger.
ClassImp(AliAnalysisTaskCRC) AliAnalysisTaskCRC
AliTrackContainer * GetTrackContainer(Int_t i=0) const
Bool_t fIsMC
Specify whether running on MC events.
void UserCreateOutputObjects()
AliCutValueRange< double > fPhiRange
Acceptance range for particles and tracks in -direction.
TString fNameClusters
Name of the cluster container.
bool IsInRange(t value) const