![]() |
AliPhysics
008a5da (008a5da)
|
Hadronic correction component in the EMCal correction framework. More...
#include <AliEmcalCorrectionClusterHadronicCorrection.h>
Public Member Functions | |
AliEmcalCorrectionClusterHadronicCorrection () | |
virtual | ~AliEmcalCorrectionClusterHadronicCorrection () |
Bool_t | Initialize () |
void | UserCreateOutputObjects () |
Bool_t | Run () |
![]() | |
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 () |
AliClusterContainer * | GetClusterContainer () |
AliParticleContainer * | GetParticleContainer () |
AliVCaloCells * | GetCaloCells () |
TList * | GetOutputList () |
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... | |
TH2 * | fHistMatchEtaPhi [10][9][2] |
!deta vs. dphi of matched cluster-track pairs More... | |
TH2 * | fHistMatchEtaPhiAll |
!deta vs. dphi of matched cluster-track pairs More... | |
TH2 * | fHistMatchEtaPhiAllCl |
!deta vs. dphi of all cluster-track pairs (cl loop) More... | |
TH2 * | fHistMatchEvsP [5] |
!cluster energy vs. track momentum of matched pairs More... | |
TH2 * | fHistNMatchEnergy [5] |
!n matches vs. cluster energy More... | |
TH2 * | fHistNCellsEnergy [5][4] |
!n cells vs. cluster energy More... | |
TH2 * | fHistMatchdRvsEP [5] |
!matching distance vs. E/P More... | |
TH1 * | fHistNclusvsCent |
!n clusters vs. centrality More... | |
TH1 * | fHistNclusMatchvsCent |
!n clusters matched to some track vs. centrality More... | |
TH1 * | fHistEbefore |
!average energy of clusters before correction vs. centrality More... | |
TH1 * | fHistEafter |
!average energy of clusters after correction vs. centrality More... | |
TH2 * | fHistEoPCent |
!E/P vs. centrality More... | |
TH2 * | fHistNMatchCent |
!n matches vs. centraity More... | |
TH2 * | fHistNClusMatchCent |
!n clusters macthed to some track (tracks allowed to match more than one cluster) More... | |
TH1 * | fHistEsubPch [10] |
!Esub vs. total momentum of matched tracks (only 1 match) More... | |
TH2 * | fHistEsubPchRat [10] |
!Esub/momentum of matched tracks vs. total momentum of matched tracks (only 1 match) More... | |
TH2 * | fHistEsubPchRatAll [5] |
!Esub/momentum of matched tracks vs. total momentum of matched tracks (all number of matches) More... | |
TH2 * | fHistEmbTrackMatchesOversub [5] |
!Over-subtracted energy / cluster energy with embedded track matches (non-embedded matches < 5%) More... | |
TH2 * | fHistNonEmbTrackMatchesOversub [5] |
!Over-subtracted energy / cluster energy with non-embedded track matches (embedded matches < 5%) More... | |
TH2 * | fHistOversubMCClusters [5] |
!Over-subtracted energy / cluster energy (cluster MC energy fraction > 95%) More... | |
TH2 * | fHistOversubNonMCClusters [5] |
!Over-subtracted energy / cluster energy (cluster MC energy fraction < 5%) More... | |
TH2 * | fHistOversub [5] |
!Over-subtracted energy / cluster energy More... | |
![]() | |
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... | |
AliClusterContainer * | fClusCont |
Pointer to the cluster container. More... | |
AliParticleContainer * | fPartCont |
Pointer to the track/particle container. More... | |
AliVCaloCells * | fCaloCells |
! Pointer to CaloCells More... | |
AliEMCALRecoUtils * | fRecoUtils |
Pointer to RecoUtils. More... | |
TList * | fOutput |
! List of output histograms More... | |
TString | fBasePath |
Base folder path to get root files. More... | |
Private Member Functions | |
AliEmcalCorrectionClusterHadronicCorrection (const AliEmcalCorrectionClusterHadronicCorrection &) | |
AliEmcalCorrectionClusterHadronicCorrection & | operator= (const AliEmcalCorrectionClusterHadronicCorrection &) |
Static Private Attributes | |
static RegisterCorrectionComponent < AliEmcalCorrectionClusterHadronicCorrection > | reg |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
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) |
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.
Definition at line 30 of file AliEmcalCorrectionClusterHadronicCorrection.h.
AliEmcalCorrectionClusterHadronicCorrection::AliEmcalCorrectionClusterHadronicCorrection | ( | ) |
Default constructor
Definition at line 23 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
|
virtual |
Destructor
Definition at line 72 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
|
private |
|
protected |
Apply the hadronic correction with all tracks.
Definition at line 686 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by Run().
|
protected |
Apply the hadronic correction with one track only.
Definition at line 599 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by Run().
|
protected |
Do the loop over matched tracks for the cluster.
Definition at line 507 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by ApplyHadCorrAllTracks().
|
protected |
Get sigma in eta.
Definition at line 302 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by ApplyHadCorrOneTrack(), and DoMatchedTracksLoop().
Get momentum bin.
Definition at line 274 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by ApplyHadCorrOneTrack(), and DoMatchedTracksLoop().
|
protected |
Get phi mean.
Definition at line 311 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by ApplyHadCorrOneTrack(), and DoMatchedTracksLoop().
|
protected |
Get phi sigma.
Definition at line 409 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
Referenced by ApplyHadCorrOneTrack(), and DoMatchedTracksLoop().
|
virtual |
Initialize and configure the component.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 79 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
|
private |
|
virtual |
Called for each event to process the event data.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 230 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
|
virtual |
Create run-independent objects for output. Called before running over events.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 97 of file AliEmcalCorrectionClusterHadronicCorrection.cxx.
|
protected |
do exact correction (embedding only)
Definition at line 56 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrAllTracks().
|
protected |
loop over tracks first
Definition at line 53 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().
|
protected |
energy/cell that we cannot subtract from the clusters
Definition at line 55 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrAllTracks(), and Initialize().
|
protected |
eta match value (pp=0.025)
Definition at line 52 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().
|
protected |
hadronic correction (fraction)
Definition at line 54 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by DoMatchedTracksLoop(), Initialize(), and Run().
|
protected |
!average energy of clusters after correction vs. centrality
Definition at line 69 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
!average energy of clusters before correction vs. centrality
Definition at line 68 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
!Over-subtracted energy / cluster energy with embedded track matches (non-embedded matches < 5%)
Definition at line 76 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!E/P vs. centrality
Definition at line 70 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrAllTracks(), ApplyHadCorrOneTrack(), and UserCreateOutputObjects().
|
protected |
!Esub vs. total momentum of matched tracks (only 1 match)
Definition at line 73 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Esub/momentum of matched tracks vs. total momentum of matched tracks (only 1 match)
Definition at line 74 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Esub/momentum of matched tracks vs. total momentum of matched tracks (all number of matches)
Definition at line 75 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!matching distance vs. E/P
Definition at line 65 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().
|
protected |
!deta vs. dphi of matched cluster-track pairs
Definition at line 59 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().
|
protected |
!deta vs. dphi of matched cluster-track pairs
Definition at line 60 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().
|
protected |
!deta vs. dphi of all cluster-track pairs (cl loop)
Definition at line 61 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and UserCreateOutputObjects().
|
protected |
!cluster energy vs. track momentum of matched pairs
Definition at line 62 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), ApplyHadCorrOneTrack(), and UserCreateOutputObjects().
|
protected |
!n cells vs. cluster energy
Definition at line 64 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!n clusters macthed to some track (tracks allowed to match more than one cluster)
Definition at line 72 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by UserCreateOutputObjects().
|
protected |
!n clusters matched to some track vs. centrality
Definition at line 67 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!n clusters vs. centrality
Definition at line 66 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by Run(), and UserCreateOutputObjects().
|
protected |
!n matches vs. centraity
Definition at line 71 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!n matches vs. cluster energy
Definition at line 63 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Over-subtracted energy / cluster energy with non-embedded track matches (embedded matches < 5%)
Definition at line 77 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Over-subtracted energy / cluster energy
Definition at line 80 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Over-subtracted energy / cluster energy (cluster MC energy fraction > 95%)
Definition at line 78 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
!Over-subtracted energy / cluster energy (cluster MC energy fraction < 5%)
Definition at line 79 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by AliEmcalCorrectionClusterHadronicCorrection(), ApplyHadCorrAllTracks(), and UserCreateOutputObjects().
|
protected |
phi match value (pp=0.050)
Definition at line 51 of file AliEmcalCorrectionClusterHadronicCorrection.h.
Referenced by ApplyHadCorrOneTrack(), DoMatchedTracksLoop(), and Initialize().
|
staticprivate |
Definition at line 87 of file AliEmcalCorrectionClusterHadronicCorrection.h.