![]() |
AliPhysics
6133e27 (6133e27)
|
Cluster-track matcher component in the EMCal correction framework. More...
#include <AliEmcalCorrectionClusterTrackMatcher.h>
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 |
void | SetNumberOfMCGeneratorsToAccept (Int_t nGen) |
void | SetNameOfMCGeneratorsToAccept (Int_t ig, TString name) |
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 | fUsePIDmass |
Use PID-based mass hypothesis for track propagation, rather than pion mass hypothesis. More... | |
Bool_t | fUseDCA |
Use DCA as starting point for track propagation, rather than primary vertex. More... | |
Bool_t | fUpdateTracks |
update tracks with matching info More... | |
Bool_t | fUpdateClusters |
update clusters with matching info More... | |
AliEmcalContainerIndexMap < AliClusterContainer, AliVCluster > | fClusterContainerIndexMap |
! Mapping between index and cluster containers More... | |
AliEmcalContainerIndexMap < AliParticleContainer, AliVParticle > | fParticleContainerIndexMap |
! Mapping between index and particle containers 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... | |
Int_t | fNMCGenerToAccept |
Number of MC generators that should not be included in analysis. More... | |
TString | fMCGenerToAccept [5] |
List with name of generators that should not be included. More... | |
Bool_t | fMCGenerToAcceptForTrack |
Activate the removal of tracks entering the track matching that come from a particular generator. 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... | |
AliEmcalCorrectionEventManager | fEventManager |
Minimal task which inherits from AliAnalysisTaskSE and manages access to the 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... | |
TObjArray | fClusterCollArray |
Cluster collection array. More... | |
TObjArray | fParticleCollArray |
Particle/track collection array. 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 57 of file AliEmcalCorrectionClusterTrackMatcher.h.
AliEmcalCorrectionClusterTrackMatcher::AliEmcalCorrectionClusterTrackMatcher | ( | ) |
Default constructor
Definition at line 29 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
virtual |
Destructor
Definition at line 66 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
private |
|
protected |
Set the links between tracks and clusters.
Definition at line 368 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
|
virtual |
Called before the first event to initialize the correction.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 181 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
protected |
Create AliEmcalParticle collections to handle the matching efficiently. At the same time propagates tracks, if requested.
Definition at line 237 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
Get momentum bin.
Definition at line 208 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by DoMatching().
|
virtual |
Initialize and configure the component.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 73 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 489 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by GenerateEmcalParticles().
|
private |
|
virtual |
Called for each event to process the event data.
Reimplemented from AliEmcalCorrectionComponent.
Definition at line 190 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
inlineprotected |
Definition at line 79 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize().
|
inlineprotected |
Definition at line 76 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize().
|
protected |
Update clusters with matching info.
Definition at line 416 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
Referenced by Run().
|
protected |
Update tracks with matching info.
Definition at line 467 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 114 of file AliEmcalCorrectionClusterTrackMatcher.cxx.
|
protected |
if true then attempt to propagate if not done yet
Definition at line 83 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 84 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles().
|
protected |
! Mapping between index and cluster containers
Definition at line 93 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by ExecOnce(), and GenerateEmcalParticles().
|
protected |
if true then propagate all hybrid tracks to EMCal surface
Definition at line 82 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and Initialize().
|
protected |
!emcal clusters
Definition at line 98 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), UpdateClusters(), UpdateTracks(), and UserCreateOutputObjects().
|
protected |
!emcal tracks
Definition at line 97 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), UpdateClusters(), UpdateTracks(), and UserCreateOutputObjects().
|
protected |
!deta distribution
Definition at line 103 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by AliEmcalCorrectionClusterTrackMatcher(), DoMatching(), and UserCreateOutputObjects().
|
protected |
!deta distribution
Definition at line 101 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and UserCreateOutputObjects().
|
protected |
!dphi distribution
Definition at line 104 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by AliEmcalCorrectionClusterTrackMatcher(), DoMatching(), and UserCreateOutputObjects().
|
protected |
!dphi distribution
Definition at line 102 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and UserCreateOutputObjects().
|
protected |
maximum distance to match clusters and tracks
Definition at line 85 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), and Initialize().
|
protected |
List with name of generators that should not be included.
Definition at line 107 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by AliEmcalCorrectionClusterTrackMatcher(), GenerateEmcalParticles(), and SetNameOfMCGeneratorsToAccept().
|
protected |
Activate the removal of tracks entering the track matching that come from a particular generator.
Definition at line 108 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and Initialize().
|
protected |
!number of emcal clusters
Definition at line 100 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateClusters().
|
protected |
!number of emcal tracks
Definition at line 99 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateTracks().
|
protected |
Number of MC generators that should not be included in analysis.
Definition at line 106 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and SetNumberOfMCGeneratorsToAccept().
|
protected |
! Mapping between index and particle containers
Definition at line 94 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by ExecOnce(), and GenerateEmcalParticles().
|
protected |
distance to surface (440cm default)
Definition at line 81 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles().
|
protected |
update clusters with matching info
Definition at line 89 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize(), and Run().
|
protected |
update tracks with matching info
Definition at line 88 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by Initialize(), and Run().
|
protected |
Use DCA as starting point for track propagation, rather than primary vertex.
Definition at line 87 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and Initialize().
|
protected |
Use PID-based mass hypothesis for track propagation, rather than pion mass hypothesis.
Definition at line 86 of file AliEmcalCorrectionClusterTrackMatcher.h.
Referenced by GenerateEmcalParticles(), and Initialize().
|
staticprivate |
Definition at line 115 of file AliEmcalCorrectionClusterTrackMatcher.h.