AliPhysics  97344c9 (97344c9)
 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 ()
 
void GetEtaPhiDiff (const AliVTrack *t, const AliVCluster *v, Double_t &phidiff, Double_t &etadiff)
 
void UpdateCells ()
 
Bool_t RunChanged ()
 
void GetPass ()
 
void FillCellQA (TH1F *h)
 
AliClusterContainerGetClusterContainer ()
 
AliParticleContainerGetParticleContainer ()
 
AliVCaloCells * GetCaloCells ()
 
TListGetOutputList ()
 
void SetClusterContainer (AliClusterContainer *cont)
 
void SetParticleContainer (AliParticleContainer *cont)
 
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...
 

Public Attributes

std::map< std::string,
AliEMCALRecoUtils::NonlinearityFunctions > 
nonlinearityFunctionMap
 

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...
 
AliClusterContainerfClusCont
 Pointer to the cluster container. More...
 
AliParticleContainerfPartCont
 Pointer to the track/particle container. 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 ( )

Definition at line 18 of file AliEmcalCorrectionClusterNonLinearity.cxx.

AliEmcalCorrectionClusterNonLinearity::~AliEmcalCorrectionClusterNonLinearity ( )
virtual

Definition at line 32 of file AliEmcalCorrectionClusterNonLinearity.cxx.

AliEmcalCorrectionClusterNonLinearity::AliEmcalCorrectionClusterNonLinearity ( const AliEmcalCorrectionClusterNonLinearity )
private

Member Function Documentation

Bool_t AliEmcalCorrectionClusterNonLinearity::Initialize ( )
virtual

Initialize basic variables in the correction component from the configuration file.

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 38 of file AliEmcalCorrectionClusterNonLinearity.cxx.

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

Run every event, where the user implements their main analysis. Similar to Run() in AliAnalysisTaskEmcal

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 89 of file AliEmcalCorrectionClusterNonLinearity.cxx.

void AliEmcalCorrectionClusterNonLinearity::UserCreateOutputObjects ( )
virtual

Create output objects for the analysis. Similar to UserCreateOutputObjects() in AliAnalysisTaskSE

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 67 of file AliEmcalCorrectionClusterNonLinearity.cxx.

Member Data Documentation

TH1F* AliEmcalCorrectionClusterNonLinearity::fEnergyDistAfter
protected

!energy distribution after

Definition at line 60 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH1F* AliEmcalCorrectionClusterNonLinearity::fEnergyDistBefore
protected

!energy distribution before

Definition at line 58 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2F* AliEmcalCorrectionClusterNonLinearity::fEnergyTimeHistAfter
protected

!energy/time distribution after

Definition at line 61 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2F* AliEmcalCorrectionClusterNonLinearity::fEnergyTimeHistBefore
protected

!energy/time distribution before

Definition at line 59 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Run(), and UserCreateOutputObjects().

std::map<std::string, AliEMCALRecoUtils::NonlinearityFunctions> AliEmcalCorrectionClusterNonLinearity::nonlinearityFunctionMap
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 }
}

Definition at line 31 of file AliEmcalCorrectionClusterNonLinearity.h.

Referenced by Initialize().

RegisterCorrectionComponent< AliEmcalCorrectionClusterNonLinearity > AliEmcalCorrectionClusterNonLinearity::reg
staticprivate

Definition at line 68 of file AliEmcalCorrectionClusterNonLinearity.h.


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