AliPhysics  1a228f7 (1a228f7)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalCorrectionComponent Class Reference

Base class for correction components in the EMCal correction framework. More...

#include <AliEmcalCorrectionComponent.h>

Inheritance diagram for AliEmcalCorrectionComponent:

Public Member Functions

 AliEmcalCorrectionComponent ()
 
 AliEmcalCorrectionComponent (const char *name)
 
virtual ~AliEmcalCorrectionComponent ()
 
virtual Bool_t Initialize ()
 
virtual void UserCreateOutputObjects ()
 
virtual void ExecOnce ()
 
virtual Bool_t Run ()
 
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...
 

Static Public Member Functions

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

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)
 

Protected Attributes

YAML::Node fUserConfiguration
 
YAML::Node fDefaultConfiguration
 
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 calo cells More...
 
AliEMCALRecoUtils * fRecoUtils
 pointer to reco utils More...
 
TListfOutput
 ! list of output histograms More...
 
TString fBasePath
 base folder path to get root files More...
 

Private Member Functions

 AliEmcalCorrectionComponent (const AliEmcalCorrectionComponent &)
 
AliEmcalCorrectionComponentoperator= (const AliEmcalCorrectionComponent &)
 

Detailed Description

Base class for correction components in the EMCal correction framework.

Author
Raymond Ehlers raymo.nosp@m.nd.e.nosp@m.hlers.nosp@m.@yal.nosp@m.e.edu, Yale University
James Mulligan james.nosp@m..mul.nosp@m.ligan.nosp@m.@yal.nosp@m.e.edu, Yale University
Date
Jul 8, 2016

Definition at line 36 of file AliEmcalCorrectionComponent.h.

Constructor & Destructor Documentation

AliEmcalCorrectionComponent::AliEmcalCorrectionComponent ( )

Default constructor

Definition at line 28 of file AliEmcalCorrectionComponent.cxx.

AliEmcalCorrectionComponent::AliEmcalCorrectionComponent ( const char *  name)

Standard constructor

Definition at line 67 of file AliEmcalCorrectionComponent.cxx.

AliEmcalCorrectionComponent::~AliEmcalCorrectionComponent ( )
virtual

Destructor

Definition at line 106 of file AliEmcalCorrectionComponent.cxx.

AliEmcalCorrectionComponent::AliEmcalCorrectionComponent ( const AliEmcalCorrectionComponent )
private

Member Function Documentation

void AliEmcalCorrectionComponent::ExecOnce ( )
virtual

Execute once for the first event to initialize the analysis. Similar to ExecOnce() in AliAnalysisTaskEmcal

Definition at line 145 of file AliEmcalCorrectionComponent.cxx.

void AliEmcalCorrectionComponent::FillCellQA ( TH1F *  h)
AliVCaloCells* AliEmcalCorrectionComponent::GetCaloCells ( )
inline
AliClusterContainer* AliEmcalCorrectionComponent::GetClusterContainer ( )
inline

Definition at line 55 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::GetEtaPhiDiff ( const AliVTrack *  t,
const AliVCluster *  v,
Double_t phidiff,
Double_t etadiff 
)

Calculate \(\phi\) and \(\eta\) difference between a track (t) and a cluster (c). The position of the track is obtained on the EMCAL surface

Parameters
[in]tTrack to check
[in]vCluster to check
[out]phidiffDistance in \(\phi\) between cluster and track
[out]etadiffDistance in \(\eta\) between cluster and track

Definition at line 184 of file AliEmcalCorrectionComponent.cxx.

Referenced by AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrOneTrack(), AliEmcalCorrectionClusterHadronicCorrection::DoMatchedTracksLoop(), AliEmcalCorrectionClusterTrackMatcher::DoMatching(), and AliEmcalCorrectionClusterTrackMatcher::UpdateClusters().

TList* AliEmcalCorrectionComponent::GetOutputList ( )
inline

Definition at line 58 of file AliEmcalCorrectionComponent.h.

AliParticleContainer* AliEmcalCorrectionComponent::GetParticleContainer ( )
inline

Definition at line 56 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::GetPass ( )

Get pass from filename. Sets pass in fFilepass.

Definition at line 256 of file AliEmcalCorrectionComponent.cxx.

Referenced by Run().

template<typename T >
bool AliEmcalCorrectionComponent::GetProperty ( std::string  propertyName,
T property,
const YAML::Node &  userConfiguration,
const YAML::Node &  defaultConfiguration,
bool  requiredProperty = true,
std::string  correctionName = "" 
)
static

Retrieve property driver function. It is static so that it can be used by other classes.

Definition at line 157 of file AliEmcalCorrectionComponent.h.

template<typename T >
bool AliEmcalCorrectionComponent::GetPropertyFromNode ( const YAML::Node &  node,
std::string  propertyName,
T property 
)
staticprotected

Definition at line 363 of file AliEmcalCorrectionComponent.h.

Referenced by GetPropertyFromNodes().

template<typename T >
bool AliEmcalCorrectionComponent::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 
)
staticprotected

Definition at line 205 of file AliEmcalCorrectionComponent.h.

Referenced by GetProperty().

bool AliEmcalCorrectionComponent::IsSharedValue ( std::string &  value)
static

Check if value is a shared parameter, meaning we should look at another node. Also edits the input string to remove "sharedParameters:" if it exists, making it ready for use.

Parameters
[in]valueString containing the string value return by the parameter.
Returns
True if the value is shared.

Definition at line 239 of file AliEmcalCorrectionComponent.cxx.

Referenced by GetPropertyFromNodes().

AliEmcalCorrectionComponent& AliEmcalCorrectionComponent::operator= ( const AliEmcalCorrectionComponent )
private
template<typename T >
std::enable_if<!std::is_arithmetic< T >::value &&!std::is_same< T, std::string >::value &&!std::is_same< T, bool >::value >::type AliEmcalCorrectionComponent::PrintRetrievedPropertyValue ( T property,
std::stringstream &  tempMessage 
)
staticprotected

Definition at line 352 of file AliEmcalCorrectionComponent.h.

Referenced by GetPropertyFromNodes().

template<typename T >
std::enable_if< std::is_arithmetic< T >::value||std::is_same< T, std::string >::value||std::is_same< T, bool >::value >::type AliEmcalCorrectionComponent::PrintRetrievedPropertyValue ( T property,
std::stringstream &  tempMessage 
)
staticprotected

NOTE: This function retunrs void! See: https://stackoverflow.com/a/29044828

Definition at line 340 of file AliEmcalCorrectionComponent.h.

Bool_t AliEmcalCorrectionComponent::RunChanged ( )
void AliEmcalCorrectionComponent::SetCaloCells ( AliVCaloCells *  cells)
inline
void AliEmcalCorrectionComponent::SetCentrality ( Double_t  cent)
inline

Definition at line 70 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetCentralityBin ( Int_t  bin)
inline

Definition at line 69 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetClusterContainer ( AliClusterContainer cont)
inline
void AliEmcalCorrectionComponent::SetDefaultConfiguration ( YAML::Node &  node)
inline
void AliEmcalCorrectionComponent::SetEMCALGeometry ( AliEMCALGeometry *  geometry)
inline

Definition at line 68 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetEvent ( AliVEvent *  event)
inline

Definition at line 65 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetIsESD ( Bool_t  isESD)
inline
void AliEmcalCorrectionComponent::SetMCEvent ( AliMCEvent *  mcevent)
inline

Definition at line 66 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetNcentralityBins ( Int_t  n)
inline

Definition at line 71 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetParticleContainer ( AliParticleContainer cont)
inline
void AliEmcalCorrectionComponent::SetRecoUtils ( AliEMCALRecoUtils *  ru)
inline

Definition at line 63 of file AliEmcalCorrectionComponent.h.

void AliEmcalCorrectionComponent::SetUserConfiguration ( YAML::Node &  node)
inline

Make copy to ensure that the nodes do not point to each other (?)

Definition at line 76 of file AliEmcalCorrectionComponent.h.

Referenced by AliEmcalCorrectionTask::InitializeComponents().

void AliEmcalCorrectionComponent::UpdateCells ( )

Remove bad cells from the cell list Recalibrate energy and time cells

Definition at line 207 of file AliEmcalCorrectionComponent.cxx.

Referenced by AliEmcalCorrectionCellBadChannel::Run(), AliEmcalCorrectionCellTimeCalib::Run(), and AliEmcalCorrectionCellEnergy::Run().

Bool_t AliEmcalCorrectionComponent::UserNotify ( )
virtual

Notifying the user that the input data file has changed and performing steps needed to be done.

Definition at line 170 of file AliEmcalCorrectionComponent.cxx.

Member Data Documentation

YAML::Node AliEmcalCorrectionComponent::fDefaultConfiguration
protected

Definition at line 97 of file AliEmcalCorrectionComponent.h.

Referenced by GetProperty(), and SetDefaultConfiguration().

Bool_t AliEmcalCorrectionComponent::fGetPassFromFileName
protected

get fFilepass from file name

Definition at line 103 of file AliEmcalCorrectionComponent.h.

Referenced by Initialize(), and Run().

Bool_t AliEmcalCorrectionComponent::fIsEmbedded
protected
Double_t AliEmcalCorrectionComponent::fMaxBinPt
protected

max pt in histograms

Definition at line 112 of file AliEmcalCorrectionComponent.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection::UserCreateOutputObjects().

AliMCEvent* AliEmcalCorrectionComponent::fMCEvent
protected
Double_t AliEmcalCorrectionComponent::fMinBinPt
protected

min pt in histograms

Definition at line 111 of file AliEmcalCorrectionComponent.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection::UserCreateOutputObjects().

Int_t AliEmcalCorrectionComponent::fMinMCLabel
protected

minimum MC label value for the tracks/clusters being considered MC particles

Definition at line 116 of file AliEmcalCorrectionComponent.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection::DoMatchedTracksLoop().

Int_t AliEmcalCorrectionComponent::fNbins
protected
YAML::Node AliEmcalCorrectionComponent::fUserConfiguration
protected

Definition at line 96 of file AliEmcalCorrectionComponent.h.

Referenced by GetProperty().

Double_t AliEmcalCorrectionComponent::fVertex[3]
protected

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