AliPhysics  cda3415 (cda3415)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliEmcalCorrectionClusterHadronicCorrection Class Reference

Hadronic correction component in the EMCal correction framework. More...

#include <AliEmcalCorrectionClusterHadronicCorrection.h>

Inheritance diagram for AliEmcalCorrectionClusterHadronicCorrection:

Public Member Functions

 AliEmcalCorrectionClusterHadronicCorrection ()
 
virtual ~AliEmcalCorrectionClusterHadronicCorrection ()
 
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...
 

Protected Member Functions

Double_t ApplyHadCorrOneTrack (Int_t icluster, Double_t hadCorr)
 
Double_t ApplyHadCorrAllTracks (Int_t icluster, Double_t hadCorr)
 
void DoMatchedTracksLoop (Int_t icluster, Double_t &totalTrkP, Int_t &Nmatches, Double_t &trkPMCfrac, Int_t &NMCmatches)
 
void DoTrackLoop ()
 
Double_t GetEtaSigma (Int_t pbin) const
 
UInt_t GetMomBin (Double_t pt) const
 
Double_t GetPhiMean (Int_t pbin, Int_t centbin) const
 
Double_t GetPhiSigma (Int_t pbin, Int_t centbin) const
 

Protected Attributes

Double_t fPhiMatch
 phi match value (pp=0.050) More...
 
Double_t fEtaMatch
 eta match value (pp=0.025) More...
 
Bool_t fDoTrackClus
 loop over tracks first More...
 
Double_t fHadCorr
 hadronic correction (fraction) More...
 
Double_t fEexclCell
 energy/cell that we cannot subtract from the clusters More...
 
Bool_t fDoExact
 do exact correction (embedding only) More...
 
TH2fHistMatchEtaPhi [8][9][2]
 !deta vs. dphi of matched cluster-track pairs More...
 
TH2fHistMatchEtaPhiAll
 !deta vs. dphi of matched cluster-track pairs More...
 
TH2fHistMatchEtaPhiAllTr
 !deta vs. dphi of all cluster-track pairs (tr loop) More...
 
TH2fHistMatchEtaPhiAllCl
 !deta vs. dphi of all cluster-track pairs (cl loop) More...
 
TH2fHistMatchEvsP [4]
 !cluster energy vs. track momentum of matched pairs More...
 
TH2fHistNMatchEnergy [4]
 !n matches vs. cluster energy More...
 
TH2fHistNCellsEnergy [4][4]
 !n cells vs. cluster energy More...
 
TH2fHistMatchdRvsEP [4]
 !matching distance vs. E/P More...
 
TH1fHistNclusvsCent
 !n clusters vs. centrality More...
 
TH1fHistNclusMatchvsCent
 !n clusters matched to some track vs. centrality More...
 
TH1fHistEbefore
 !average energy of clusters before correction vs. centrality More...
 
TH1fHistEafter
 !average energy of clusters after correction vs. centrality More...
 
TH2fHistEoPCent
 !E/P vs. centrality More...
 
TH2fHistNMatchCent
 !n matches vs. centraity More...
 
TH2fHistNClusMatchCent
 !n clusters macthed to some track (tracks allowed to match more than one cluster) More...
 
TH1fHistEsubPch [8]
 !Esub vs. total momentum of matched tracks (only 1 match) More...
 
TH2fHistEsubPchRat [8]
 !Esub/momentum of matched tracks vs. total momentum of matched tracks (only 1 match) More...
 
TH2fHistEsubPchRatAll [8]
 !Esub/momentum of matched tracks vs. total momentum of matched tracks (all number of matches) More...
 
TH2fHistEmbTrackMatchesOversub [4]
 !Over-subtracted energy / cluster energy with embedded track matches (non-embedded matches < 5%) More...
 
TH2fHistNonEmbTrackMatchesOversub [4]
 !Over-subtracted energy / cluster energy with non-embedded track matches (embedded matches < 5%) More...
 
TH2fHistOversubMCClusters [4]
 !Over-subtracted energy / cluster energy (cluster MC energy fraction > 95%) More...
 
TH2fHistOversubNonMCClusters [4]
 !Over-subtracted energy / cluster energy (cluster MC energy fraction < 5%) More...
 
TH2fHistOversub [4]
 !Over-subtracted energy / cluster energy More...
 
- Protected Attributes inherited from AliEmcalCorrectionComponent
YAML::Node fUserConfiguration
 
YAML::Node fDefaultConfiguration
 User YAML configuration. More...
 
Bool_t fCreateHisto
 Default YAML configuration. 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

 AliEmcalCorrectionClusterHadronicCorrection (const AliEmcalCorrectionClusterHadronicCorrection &)
 
AliEmcalCorrectionClusterHadronicCorrectionoperator= (const AliEmcalCorrectionClusterHadronicCorrection &)
 

Static Private Attributes

static
RegisterCorrectionComponent
< AliEmcalCorrectionClusterHadronicCorrection
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

Hadronic correction component in the EMCal correction framework.

Charged particles deposit some energy in the calorimeter. Most of the charged particle are hadrons, such as pions, kaons and protons. The hadronic response of the calorimeter has been studied in some details. Most of the high energetic particles ( > 1 GeV) only release a small amount of energy. These are usually called "minimum ionizing particles" (MIP). Occasionally hadrons may interact strongly with the nuclei of the material in the calorimeter and start a hadronic shower. In this case the energy deposition is much higher. High momentum muons are also MIP, but they never shower in the calorimeter. Finally electrons do shower in the calorimeter, in a way that is quite similar to a shower initiated by a photon.

All charged particles are measured in the tracking detectors (ITS+TPC+TOF). To avoid double counting their contribution to the jet energy flow, they need to be subtracted cluster-by-cluster. This is done by matching EMCal/DCal clusters with charged tracks and then subtracting a certain fraction of the matched tracks from the cluster energy. The most common choice is to subtract 100% of the momentum of the sum of the matched tracks.

The energy of the cluster after the hadronic correction can be obtained using the method cluster->GetHadCorrEnergy().

Based on code in AliHadCorrTask.

Author
Rosi Reed, AliHadCorrTask
Constantin Loizides, LBNL, AliHadCorrTask
Salvatore Aiola, LBNL, AliHadCorrTask
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 30 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Constructor & Destructor Documentation

AliEmcalCorrectionClusterHadronicCorrection::AliEmcalCorrectionClusterHadronicCorrection ( )
AliEmcalCorrectionClusterHadronicCorrection::~AliEmcalCorrectionClusterHadronicCorrection ( )
virtual
AliEmcalCorrectionClusterHadronicCorrection::AliEmcalCorrectionClusterHadronicCorrection ( const AliEmcalCorrectionClusterHadronicCorrection )
private

Member Function Documentation

Double_t AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrAllTracks ( Int_t  icluster,
Double_t  hadCorr 
)
protected

Definition at line 689 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.

Referenced by Run().

Double_t AliEmcalCorrectionClusterHadronicCorrection::ApplyHadCorrOneTrack ( Int_t  icluster,
Double_t  hadCorr 
)
protected

Definition at line 602 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterHadronicCorrection::DoMatchedTracksLoop ( Int_t  icluster,
Double_t totalTrkP,
Int_t Nmatches,
Double_t trkPMCfrac,
Int_t NMCmatches 
)
protected
void AliEmcalCorrectionClusterHadronicCorrection::DoTrackLoop ( )
protected
Double_t AliEmcalCorrectionClusterHadronicCorrection::GetEtaSigma ( Int_t  pbin) const
protected
UInt_t AliEmcalCorrectionClusterHadronicCorrection::GetMomBin ( Double_t  pt) const
protected
Double_t AliEmcalCorrectionClusterHadronicCorrection::GetPhiMean ( Int_t  pbin,
Int_t  centbin 
) const
protected
Double_t AliEmcalCorrectionClusterHadronicCorrection::GetPhiSigma ( Int_t  pbin,
Int_t  centbin 
) const
protected
Bool_t AliEmcalCorrectionClusterHadronicCorrection::Initialize ( )
virtual

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 77 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.

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

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 232 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.

void AliEmcalCorrectionClusterHadronicCorrection::UserCreateOutputObjects ( )
virtual

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 97 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.

Member Data Documentation

Bool_t AliEmcalCorrectionClusterHadronicCorrection::fDoExact
protected

do exact correction (embedding only)

Definition at line 56 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrAllTracks().

Bool_t AliEmcalCorrectionClusterHadronicCorrection::fDoTrackClus
protected

loop over tracks first

Definition at line 53 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().

Double_t AliEmcalCorrectionClusterHadronicCorrection::fEexclCell
protected

energy/cell that we cannot subtract from the clusters

Definition at line 55 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrAllTracks(), and Initialize().

Double_t AliEmcalCorrectionClusterHadronicCorrection::fEtaMatch
protected

eta match value (pp=0.025)

Definition at line 52 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().

Double_t AliEmcalCorrectionClusterHadronicCorrection::fHadCorr
protected

hadronic correction (fraction)

Definition at line 54 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by DoMatchedTracksLoop(), Initialize(), and Run().

TH1* AliEmcalCorrectionClusterHadronicCorrection::fHistEafter
protected

!average energy of clusters after correction vs. centrality

Definition at line 70 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by Run(), and UserCreateOutputObjects().

TH1* AliEmcalCorrectionClusterHadronicCorrection::fHistEbefore
protected

!average energy of clusters before correction vs. centrality

Definition at line 69 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistEmbTrackMatchesOversub[4]
protected

!Over-subtracted energy / cluster energy with embedded track matches (non-embedded matches < 5%)

Definition at line 77 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistEoPCent
protected
TH1* AliEmcalCorrectionClusterHadronicCorrection::fHistEsubPch[8]
protected

!Esub vs. total momentum of matched tracks (only 1 match)

Definition at line 74 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistEsubPchRat[8]
protected

!Esub/momentum of matched tracks vs. total momentum of matched tracks (only 1 match)

Definition at line 75 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistEsubPchRatAll[8]
protected

!Esub/momentum of matched tracks vs. total momentum of matched tracks (all number of matches)

Definition at line 76 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchdRvsEP[4]
protected
TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchEtaPhi[8][9][2]
protected
TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchEtaPhiAll
protected

!deta vs. dphi of matched cluster-track pairs

Definition at line 60 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchEtaPhiAllCl
protected

!deta vs. dphi of all cluster-track pairs (cl loop)

Definition at line 62 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchEtaPhiAllTr
protected

!deta vs. dphi of all cluster-track pairs (tr loop)

Definition at line 61 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistMatchEvsP[4]
protected

!cluster energy vs. track momentum of matched pairs

Definition at line 63 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), ApplyHadCorrOneTrack(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistNCellsEnergy[4][4]
protected
TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistNClusMatchCent
protected

!n clusters macthed to some track (tracks allowed to match more than one cluster)

Definition at line 73 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by UserCreateOutputObjects().

TH1* AliEmcalCorrectionClusterHadronicCorrection::fHistNclusMatchvsCent
protected

!n clusters matched to some track vs. centrality

Definition at line 68 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH1* AliEmcalCorrectionClusterHadronicCorrection::fHistNclusvsCent
protected

!n clusters vs. centrality

Definition at line 67 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by Run(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistNMatchCent
protected

!n matches vs. centraity

Definition at line 72 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistNMatchEnergy[4]
protected
TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistNonEmbTrackMatchesOversub[4]
protected

!Over-subtracted energy / cluster energy with non-embedded track matches (embedded matches < 5%)

Definition at line 78 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistOversub[4]
protected

!Over-subtracted energy / cluster energy

Definition at line 81 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistOversubMCClusters[4]
protected

!Over-subtracted energy / cluster energy (cluster MC energy fraction > 95%)

Definition at line 79 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

TH2* AliEmcalCorrectionClusterHadronicCorrection::fHistOversubNonMCClusters[4]
protected

!Over-subtracted energy / cluster energy (cluster MC energy fraction < 5%)

Definition at line 80 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().

Double_t AliEmcalCorrectionClusterHadronicCorrection::fPhiMatch
protected

phi match value (pp=0.050)

Definition at line 51 of file AliEmcalCorrectionClusterHadronicCorrection.h.

Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().

RegisterCorrectionComponent< AliEmcalCorrectionClusterHadronicCorrection > AliEmcalCorrectionClusterHadronicCorrection::reg
staticprivate

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