![]() |
AliPhysics
008a5da (008a5da)
|
Cluster-track matcher component in the EMCal correction framework. More...
#include <AliEmcalCorrectionClusterTrackMatcher.h>
Public Member Functions | |
AliEmcalCorrectionClusterTrackMatcher () | |
virtual | ~AliEmcalCorrectionClusterTrackMatcher () |
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 | |
Int_t | GetMomBin (Double_t p) const |
void | GenerateEmcalParticles () |
void | DoMatching () |
void | UpdateTracks () |
void | UpdateClusters () |
Bool_t | IsTrackInEmcalAcceptance (AliVParticle *part, Double_t edges=0.9) const |
Protected Attributes | |
Double_t | fPropDist |
distance to surface (440cm default) More... | |
Bool_t | fDoPropagation |
if true then propagate all hybrid tracks to EMCal surface More... | |
Bool_t | fAttemptProp |
if true then attempt to propagate if not done yet More... | |
Bool_t | fAttemptPropMatch |
if true then attempt to propagate if not done yet but IsEMCAL is true More... | |
Double_t | fMaxDistance |
maximum distance to match clusters and tracks More... | |
Bool_t | fUpdateTracks |
update tracks with matching info More... | |
Bool_t | fUpdateClusters |
update clusters with matching info More... | |
TClonesArray * | fEmcalTracks |
!emcal tracks More... | |
TClonesArray * | fEmcalClusters |
!emcal clusters More... | |
Int_t | fNEmcalTracks |
!number of emcal tracks More... | |
Int_t | fNEmcalClusters |
!number of emcal clusters More... | |
TH1 * | fHistMatchEtaAll |
!deta distribution More... | |
TH1 * | fHistMatchPhiAll |
!dphi distribution More... | |
TH1 * | fHistMatchEta [10][9][2] |
!deta distribution More... | |
TH1 * | fHistMatchPhi [10][9][2] |
!dphi distribution 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 | |
AliEmcalCorrectionClusterTrackMatcher (const AliEmcalCorrectionClusterTrackMatcher &) | |
AliEmcalCorrectionClusterTrackMatcher & | operator= (const AliEmcalCorrectionClusterTrackMatcher &) |
Static Private Attributes | |
static RegisterCorrectionComponent < AliEmcalCorrectionClusterTrackMatcher > | 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) |
Cluster-track matcher component in the EMCal correction framework.
Tracks and clusters are matched using a simple geometrical algorithm. Multiple tracks can be matched to a single cluster; however only one cluster can be matched to a track. The default configuration of the task is such that it will attempt track propagation to the EMCal surface (440 cm) if the track is not already propagated. This means that the OCDB has to be loaded beforehand (e.g. using the CDBConnect task), as well as the geometry (handled automatically by AliEmcalCorrectionTask). This should usually work in both AOD and ESD events.
The number of tracks matched to a cluster can be retrieved using cluster->GetNTracksMatched()
. Unfortunately the method to access the tracks matched to a cluster depend on the data format. For ESD clusters (AliESDCaloClusters):
will return the position of the track in the array. The integer i is a number from 0 to cluster->GetNTracksMatched() -1
. A pointer to the track object can be retrieved using:
(assuming that the task is derived from AliAnalysisTaskEmcal or AliAnalysisTaskEmcalJet).
For AOD clusters (AliAODCaloClusters) the method:
will directly return a pointer to the matched track.
To get the cluster matched to a track one can use (both ESD and AOD):
This will return the index of the cluster. To get a pointer to the cluster object:
(again assuming that the task is derived from AliAnalysisTaskEmcal or AliAnalysisTaskEmcalJet).
Based on code in AliEmcalClusTrackMatcherTask.
Definition at line 53 of file AliEmcalCorrectionClusterTrackMatcher.h.
AliEmcalCorrectionClusterTrackMatcher::AliEmcalCorrectionClusterTrackMatcher | ( | ) |
Default constructor
Definition at line 28 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
virtual |
Destructor
Definition at line 57 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
private |
|
protected |
Set the links between tracks and clusters.
Definition at line 247 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
|
protected |
Create AliEmcalParticle collections to handle the matching efficiently. At the same time propagates tracks, if requested.
Definition at line 167 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
Get momentum bin.
Definition at line 138 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by DoMatching().
|
virtual |
Initialize and configure the component.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 64 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
protected |
Determines if a track is inside the EMCal acceptance, using \(\eta\)/ \(\phi\) at the vertex (no propagation). Includes +/- edges. Useful to determine whether track propagation should be attempted.
[in] | part | Particle to check |
[in] | edges | Size of the edges in \(\phi\) excluded from the EMCAL acceptance |
Definition at line 368 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by GenerateEmcalParticles().
|
private |
|
virtual |
Called for each event to process the event data.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 120 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
protected |
Update clusters with matching info.
Definition at line 295 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
|
protected |
Update tracks with matching info.
Definition at line 346 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
|
virtual |
Create run-independent objects for output. Called before running over events.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 82 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
protected |
if true then attempt to propagate if not done yet
Definition at line 73 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles().
|
protected |
if true then attempt to propagate if not done yet but IsEMCAL is true
Definition at line 74 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles().
|
protected |
if true then propagate all hybrid tracks to EMCal surface
Definition at line 72 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and Initialize().
|
protected |
!emcal clusters
Definition at line 80 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), UpdateClusters(), UpdateTracks(), and UserCreateOutputObjects().
|
protected |
!emcal tracks
Definition at line 79 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), UpdateClusters(), UpdateTracks(), and UserCreateOutputObjects().
|
protected |
!deta distribution
Definition at line 85 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by AliEmcalCorrectionClusterTrackMatcher(), DoMatching(), and UserCreateOutputObjects().
|
protected |
!deta distribution
Definition at line 83 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and UserCreateOutputObjects().
|
protected |
!dphi distribution
Definition at line 86 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by AliEmcalCorrectionClusterTrackMatcher(), DoMatching(), and UserCreateOutputObjects().
|
protected |
!dphi distribution
Definition at line 84 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and UserCreateOutputObjects().
|
protected |
maximum distance to match clusters and tracks
Definition at line 75 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and Initialize().
|
protected |
!number of emcal clusters
Definition at line 82 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateClusters().
|
protected |
!number of emcal tracks
Definition at line 81 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateTracks().
|
protected |
distance to surface (440cm default)
Definition at line 71 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles().
|
protected |
update clusters with matching info
Definition at line 77 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize(), and Run().
|
protected |
update tracks with matching info
Definition at line 76 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize(), and Run().
|
staticprivate |
Definition at line 93 of file AliEmcalCorrectionClusterTrackMatcher.h.