AliPhysics  71e3bc7 (71e3bc7)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalCorrectionClusterNonLinearity Class Reference

Cluster energy non-linearity correction component in the EMCal correction framework. More...

#include <AliEmcalCorrectionClusterNonLinearity.h>

Inheritance diagram for AliEmcalCorrectionClusterNonLinearity:

Public Member Functions

 AliEmcalCorrectionClusterNonLinearity ()
 
virtual ~AliEmcalCorrectionClusterNonLinearity ()
 
Bool_t Initialize ()
 
void UserCreateOutputObjects ()
 
Bool_t Run ()
 
- Public Member Functions inherited from AliEmcalCorrectionComponent
 AliEmcalCorrectionComponent ()
 
 AliEmcalCorrectionComponent (const char *name)
 
virtual ~AliEmcalCorrectionComponent ()
 
virtual void ExecOnce ()
 
virtual Bool_t UserNotify ()
 
virtual Bool_t CheckIfRunChanged ()
 
void GetEtaPhiDiff (const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
 
void UpdateCells ()
 
void GetPass ()
 
void FillCellQA (TH1F *h)
 
Int_t InitBadChannels ()
 
AliParticleContainerAddParticleContainer (const char *n)
 
AliTrackContainerAddTrackContainer (const char *n)
 
AliMCParticleContainerAddMCParticleContainer (const char *n)
 
AliClusterContainerAddClusterContainer (const char *n)
 
void AdoptParticleContainer (AliParticleContainer *cont)
 
void AdoptTrackContainer (AliTrackContainer *cont)
 
void AdoptMCParticleContainer (AliMCParticleContainer *cont)
 
void AdoptClusterContainer (AliClusterContainer *cont)
 
AliParticleContainerGetParticleContainer (Int_t i=0) const
 
AliParticleContainerGetParticleContainer (const char *name) const
 
AliClusterContainerGetClusterContainer (Int_t i=0) const
 
AliClusterContainerGetClusterContainer (const char *name) const
 
AliMCParticleContainerGetMCParticleContainer (Int_t i=0) const
 
AliMCParticleContainerGetMCParticleContainer (const char *name) const
 
AliTrackContainerGetTrackContainer (Int_t i=0) const
 
AliTrackContainerGetTrackContainer (const char *name) const
 
void RemoveParticleContainer (Int_t i=0)
 
void RemoveClusterContainer (Int_t i=0)
 
AliVCaloCells * GetCaloCells () const
 
TListGetOutputList () const
 
void SetCaloCells (AliVCaloCells *cells)
 
void SetRecoUtils (AliEMCALRecoUtils *ru)
 
void SetEvent (AliVEvent *event)
 
void SetMCEvent (AliMCEvent *mcevent)
 
void SetEMCALGeometry (AliEMCALGeometry *geometry)
 
void SetCentralityBin (Int_t bin)
 
void SetCentrality (Double_t cent)
 
void SetNcentralityBins (Int_t n)
 
void SetIsESD (Bool_t isESD)
 
void SetUserConfiguration (YAML::Node &node)
 Make copy to ensure that the nodes do not point to each other (?) More...
 
void SetDefaultConfiguration (YAML::Node &node)
 
template<typename T >
bool GetProperty (std::string propertyName, T &property, bool requiredProperty=true, std::string correctionName="")
 Retrieve property. More...
 

Static Public Attributes

static const std::map
< std::string,
AliEMCALRecoUtils::NonlinearityFunctions > 
fgkNonlinearityFunctionMap
 Relates string to the non-linearity function enumeration for YAML configuration. More...
 

Protected Attributes

TH1F * fEnergyDistBefore
 !energy distribution before More...
 
TH2FfEnergyTimeHistBefore
 !energy/time distribution before More...
 
TH1F * fEnergyDistAfter
 !energy distribution after More...
 
TH2FfEnergyTimeHistAfter
 !energy/time distribution after More...
 
- Protected Attributes inherited from AliEmcalCorrectionComponent
YAML::Node fUserConfiguration
 ! User YAML configuration More...
 
YAML::Node fDefaultConfiguration
 ! Default YAML configuration More...
 
Bool_t fCreateHisto
 Flag to make some basic histograms. More...
 
Int_t fRun
 ! Run number More...
 
TString fFilepass
 Input data pass number. More...
 
Bool_t fGetPassFromFileName
 Get fFilepass from file name. More...
 
AliVEvent * fEvent
 ! Pointer to event More...
 
Bool_t fEsdMode
 flag for ESD More...
 
AliMCEvent * fMCEvent
 ! MC More...
 
Double_t fCent
 ! Event centrality More...
 
Int_t fNcentBins
 How many centrality bins (this member copied from AliAnalysisTaskEmcal) More...
 
Int_t fCentBin
 ! Event centrality bin More...
 
Int_t fNbins
 No. of pt bins. More...
 
Double_t fMinBinPt
 Min pt in histograms. More...
 
Double_t fMaxBinPt
 Max pt in histograms. More...
 
Double_t fVertex [3]
 ! Event vertex More...
 
AliEMCALGeometry * fGeom
 ! Geometry object More...
 
Bool_t fIsEmbedded
 Trigger, embedded signal. More...
 
Int_t fMinMCLabel
 Minimum MC label value for the tracks/clusters being considered MC particles. More...
 
TObjArray fClusterCollArray
 Cluster collection array. More...
 
TObjArray fParticleCollArray
 Particle/track collection array. More...
 
AliVCaloCells * fCaloCells
 ! Pointer to CaloCells More...
 
AliEMCALRecoUtils * fRecoUtils
 Pointer to RecoUtils. More...
 
TListfOutput
 ! List of output histograms More...
 
TString fBasePath
 Base folder path to get root files. More...
 

Private Member Functions

 AliEmcalCorrectionClusterNonLinearity (const AliEmcalCorrectionClusterNonLinearity &)
 
AliEmcalCorrectionClusterNonLinearityoperator= (const AliEmcalCorrectionClusterNonLinearity &)
 

Static Private Attributes

static
RegisterCorrectionComponent
< AliEmcalCorrectionClusterNonLinearity
reg
 

Additional Inherited Members

- Static Public Member Functions inherited from AliEmcalCorrectionComponent
template<typename T >
static bool GetProperty (std::string propertyName, T &property, const YAML::Node &userConfiguration, const YAML::Node &defaultConfiguration, bool requiredProperty=true, std::string correctionName="")
 Retrieve property driver function. It is static so that it can be used by other classes. More...
 
static bool IsSharedValue (std::string &value)
 
- Static Protected Member Functions inherited from AliEmcalCorrectionComponent
template<typename T >
static bool GetPropertyFromNodes (const YAML::Node &node, const YAML::Node &sharedParametersNode, std::string propertyName, T &property, const std::string correctionName, const std::string configurationType, int nodesDeep=0)
 
template<typename T >
static bool GetPropertyFromNode (const YAML::Node &node, std::string propertyName, T &property)
 
template<typename T >
static std::enable_if
<!std::is_arithmetic< T >
::value &&!std::is_same< T,
std::string >::value
&&!std::is_same< T, bool >
::value >::type 
PrintRetrievedPropertyValue (T &property, std::stringstream &tempMessage)
 
template<typename T >
static std::enable_if
< std::is_arithmetic< T >
::value||std::is_same< T,
std::string >::value||std::is_same
< T, bool >::value >::type 
PrintRetrievedPropertyValue (T &property, std::stringstream &tempMessage)
 

Detailed Description

Cluster energy non-linearity correction component in the EMCal correction framework.

Non-linearity correction to the cluster energy is necessary because the response of the calorimeter is not linear for very low momentum particles or very high momentum (shower leakage).

The energy of the cluster after the non-linearity correction can be retrieved using the method cluster->GetNonLinCorrEnergy().

Based on code in AliEmcalClusterMaker.

Author
Constantin Loizides, LBNL, AliEmcalClusterMaker
Salvatore Aiola, LBNL, AliEmcalClusterMaker
James Mulligan james.nosp@m..mul.nosp@m.ligan.nosp@m.@yal.nosp@m.e.edu, Yale University, centralize EMCal corrections using components
Raymond Ehlers raymo.nosp@m.nd.e.nosp@m.hlers.nosp@m.@yal.nosp@m.e.edu, Yale University, centralize EMCal corrections using components
Date
Jul 8, 2016

Definition at line 27 of file AliEmcalCorrectionClusterNonLinearity.h.

Constructor & Destructor Documentation

AliEmcalCorrectionClusterNonLinearity::AliEmcalCorrectionClusterNonLinearity ( )

Default constructor

Definition at line 37 of file AliEmcalCorrectionClusterNonLinearity.cxx.

AliEmcalCorrectionClusterNonLinearity::~AliEmcalCorrectionClusterNonLinearity ( )
virtual

Destructor

Definition at line 50 of file AliEmcalCorrectionClusterNonLinearity.cxx.

AliEmcalCorrectionClusterNonLinearity::AliEmcalCorrectionClusterNonLinearity ( const AliEmcalCorrectionClusterNonLinearity )
private

Member Function Documentation

Bool_t AliEmcalCorrectionClusterNonLinearity::Initialize ( )
virtual

Initialize and configure the component.

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 57 of file AliEmcalCorrectionClusterNonLinearity.cxx.

AliEmcalCorrectionClusterNonLinearity& AliEmcalCorrectionClusterNonLinearity::operator= ( const AliEmcalCorrectionClusterNonLinearity )
private
Bool_t AliEmcalCorrectionClusterNonLinearity::Run ( )
virtual

Called for each event to process the event data.

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 107 of file AliEmcalCorrectionClusterNonLinearity.cxx.

void AliEmcalCorrectionClusterNonLinearity::UserCreateOutputObjects ( )
virtual

Create run-independent objects for output. Called before running over events.

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 84 of file AliEmcalCorrectionClusterNonLinearity.cxx.

Member Data Documentation

TH1F* AliEmcalCorrectionClusterNonLinearity::fEnergyDistAfter
protected

!energy distribution after

Definition at line 43 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH1F* AliEmcalCorrectionClusterNonLinearity::fEnergyDistBefore
protected

!energy distribution before

Definition at line 41 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2F* AliEmcalCorrectionClusterNonLinearity::fEnergyTimeHistAfter
protected

!energy/time distribution after

Definition at line 44 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2F* AliEmcalCorrectionClusterNonLinearity::fEnergyTimeHistBefore
protected

!energy/time distribution before

Definition at line 42 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

const std::map< std::string, AliEMCALRecoUtils::NonlinearityFunctions > AliEmcalCorrectionClusterNonLinearity::fgkNonlinearityFunctionMap
static
Initial value:
= {
{ "kPi0MC", AliEMCALRecoUtils::kPi0MC },
{ "kPi0GammaGamma", AliEMCALRecoUtils::kPi0GammaGamma },
{ "kPi0GammaConversion", AliEMCALRecoUtils::kPi0GammaConversion },
{ "kNoCorrection", AliEMCALRecoUtils::kNoCorrection },
{ "kBeamTest", AliEMCALRecoUtils::kBeamTest },
{ "kBeamTestCorrected", AliEMCALRecoUtils::kBeamTestCorrected },
{ "kPi0MCv2", AliEMCALRecoUtils::kPi0MCv2 },
{ "kPi0MCv3", AliEMCALRecoUtils::kPi0MCv3 },
{ "kBeamTestCorrectedv2", AliEMCALRecoUtils::kBeamTestCorrectedv2 },
{ "kSDMv5", AliEMCALRecoUtils::kSDMv5 },
{ "kPi0MCv5", AliEMCALRecoUtils::kPi0MCv5 },
{ "kSDMv6", AliEMCALRecoUtils::kSDMv6 },
{ "kPi0MCv6", AliEMCALRecoUtils::kPi0MCv6 },
{ "kBeamTestCorrectedv3", AliEMCALRecoUtils::kBeamTestCorrectedv3 }
}

Relates string to the non-linearity function enumeration for YAML configuration.

!

Definition at line 30 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Initialize().

RegisterCorrectionComponent< AliEmcalCorrectionClusterNonLinearity > AliEmcalCorrectionClusterNonLinearity::reg
staticprivate

Definition at line 51 of file AliEmcalCorrectionClusterNonLinearity.h.


The documentation for this class was generated from the following files: