1 #ifndef ALIEMCALCORRECTIONCOMPONENT_H
2 #define ALIEMCALCORRECTIONCOMPONENT_H
11 class AliEMCALRecoUtils;
23 #include "AliEMCALGeometry.h"
109 template<
typename T>
bool GetProperty(std::string propertyName,
T & property,
bool requiredProperty =
true, std::string correctionName =
"");
162 if (correctionName ==
"")
164 correctionName = GetName();
167 return fYAMLConfig.
GetProperty(std::vector<std::string>{correctionName, propertyName}, property, requiredProperty);
197 typedef std::map<std::string, AliEmcalCorrectionComponent*(*)()>
map_type;
202 map_type::iterator it =
getMap()->find(s);
242 getMap()->insert(std::make_pair(s, &createT<T>));
Int_t fNcentBins
How many centrality bins (this member copied from AliAnalysisTaskEmcal)
void AdoptClusterContainer(AliClusterContainer *cont)
AliMCParticleContainer * GetMCParticleContainer(Int_t i=0) const
Bool_t fEsdMode
flag for ESD
AliParticleContainer * GetParticleContainer(Int_t i=0) const
AliEMCALGeometry * fGeom
! Geometry object
AliTrackContainer * GetTrackContainer(Int_t i=0) const
RegisterCorrectionComponent(std::string const &s)
Registers the name of the component to map to a function that can create the component.
void SetEMCALGeometry(AliEMCALGeometry *geometry)
AliVCaloCells * GetCaloCells() const
Class to manage the current event for correction components in the EMCal correction framework...
void SetRecoUtils(AliEMCALRecoUtils *ru)
virtual ~AliEmcalCorrectionComponent()
void SetInputEvent(AliVEvent *inputEvent)
TList * GetOutputList() const
void SetMCEvent(AliMCEvent *mcevent)
virtual Bool_t UserNotify()
Container with name, TClonesArray and cuts for particles.
Registers EMCal correction components in the factory map.
AliEmcalCorrectionComponent * createT()
Template function for creating a new component. Used to register the component.
AliParticleContainer * GetParticleContainer(const char *name) const
void SetNcentralityBins(Int_t n)
virtual void UserCreateOutputObjects()
AliYAMLConfiguration fYAMLConfig
Contains the YAML configuration used to configure the component.
Int_t fCentBin
! Event centrality bin
void SetUsingInputEvent(bool b=true)
AliClusterContainer * AddClusterContainer(const char *n)
AliVCaloCells * fCaloCells
! Pointer to CaloCells
Container for particles within the EMCAL framework.
void RemoveParticleContainer(Int_t i=0)
TObjArray fParticleCollArray
Particle/track collection array.
UShort_t T(UShort_t m, UShort_t t)
AliEMCALRecoUtils * fRecoUtils
Pointer to RecoUtils.
TObjArray fClusterCollArray
Cluster collection array.
void SetUseEmbeddingEvent(bool b=true)
Base class for correction components in the EMCal correction framework.
AliMCParticleContainer * AddMCParticleContainer(const char *n)
void AdoptParticleContainer(AliParticleContainer *cont)
AliParticleContainer * AddParticleContainer(const char *n)
bool GetProperty(std::vector< std::string > propertyPath, const std::string &propertyName, T &property, const bool requiredProperty) const
Int_t fMinMCLabel
Minimum MC label value for the tracks/clusters being considered MC particles.
static map_type * componentMap
Contains the map to all of the components.
static map_type * getMap()
Creates and access the component map.
void AdoptMCParticleContainer(AliMCParticleContainer *cont)
std::map< std::string, AliEmcalCorrectionComponent *(*)()> map_type
AliMCEvent * fMCEvent
! MC
Double_t fVertex[3]
! Event vertex
TString fBasePath
Base folder path to get root files.
Double_t fMaxBinPt
Max pt in histograms.
void SetVertex(Double_t *vertex)
void SetInputEvent(AliVEvent *event)
TList * fOutput
! List of output histograms
AliEmcalCorrectionComponent & operator=(const AliEmcalCorrectionComponent &)
Bool_t fCreateHisto
Flag to make some basic histograms.
Bool_t fGetPassFromFileName
Get fFilepass from file name.
Double_t fCent
! Event centrality
void RemoveClusterContainer(Int_t i=0)
AliTrackContainer * GetTrackContainer(const char *name) const
AliClusterContainer * GetClusterContainer(const char *name) const
virtual ~AliEmcalCorrectionComponentFactory()
virtual Bool_t Initialize()
AliTrackContainer * AddTrackContainer(const char *n)
Double_t fMinBinPt
Min pt in histograms.
AliEmcalCorrectionEventManager fEventManager
Minimal task which inherits from AliAnalysisTaskSE and manages access to the event.
Factory for correction components in the EMCal correction framework.
virtual Bool_t CheckIfRunChanged()
void SetIsESD(Bool_t isESD)
void SetCaloCells(AliVCaloCells *cells)
void SetCentrality(Double_t cent)
AliEmcalCorrectionComponent()
void GetEtaPhiDiff(const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
static AliEmcalCorrectionComponent * createInstance(std::string const &s)
Creates an instance of an object based on the name if the name is registered in the map...
YAML configuration class for AliPhysics.
Int_t fNbins
No. of pt bins.
AliClusterContainer * GetClusterContainer(Int_t i=0) const
void AdoptTrackContainer(AliTrackContainer *cont)
Container structure for EMCAL clusters.
Container for MC-true particles within the EMCAL framework.
TString fFilepass
Input data pass number.
void SetYAMLConfiguration(AliYAMLConfiguration config)
Set YAML Configuration.
AliMCParticleContainer * GetMCParticleContainer(const char *name) const
bool GetProperty(std::string propertyName, T &property, bool requiredProperty=true, std::string correctionName="")
Retrieve property.
void SetCentralityBin(Int_t bin)
Bool_t fIsEmbedded
Trigger, embedded signal.