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

Cluster-track matcher component in the EMCal correction framework. More...

#include <AliEmcalCorrectionClusterTrackMatcher.h>

Inheritance diagram for AliEmcalCorrectionClusterTrackMatcher:

Public Member Functions

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

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...
 
TH1fHistMatchEtaAll
 !deta distribution More...
 
TH1fHistMatchPhiAll
 !dphi distribution More...
 
TH1fHistMatchEta [8][9][2]
 !deta distribution More...
 
TH1fHistMatchPhi [8][9][2]
 !dphi distribution 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

 AliEmcalCorrectionClusterTrackMatcher (const AliEmcalCorrectionClusterTrackMatcher &)
 
AliEmcalCorrectionClusterTrackMatcheroperator= (const AliEmcalCorrectionClusterTrackMatcher &)
 

Static Private Attributes

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

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):

Int_t iTrack = cluster->GetTrackMatchedIndex(i);

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:

AliVTrack* track = static_cast<AliVTrack*>(GetParticleContainer(0)->GetParticle(iTrack));

(assuming that the task is derived from AliAnalysisTaskEmcal or AliAnalysisTaskEmcalJet).

For AOD clusters (AliAODCaloClusters) the method:

AliVTrack* track = static_cast<AliVTrack*>(cluster->GetTrackMatched(i));

will directly return a pointer to the matched track.

To get the cluster matched to a track one can use (both ESD and AOD):

Int_t iCluster = track->GetEMCALcluster();

This will return the index of the cluster. To get a pointer to the cluster object:

AliVCluster *cluster = GetClusterContainer(0)->GetCluster(iCluster);

(again assuming that the task is derived from AliAnalysisTaskEmcal or AliAnalysisTaskEmcalJet).

Based on code in AliEmcalClusTrackMatcherTask.

Author
Constantin Loizides, LBNL, AliEmcalClusTrackMatcherTask
Salvatore Aiola, LBNL, AliEmcalClusTrackMatcherTask
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 53 of file AliEmcalCorrectionClusterTrackMatcher.h.

Constructor & Destructor Documentation

AliEmcalCorrectionClusterTrackMatcher::AliEmcalCorrectionClusterTrackMatcher ( )

Definition at line 26 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

AliEmcalCorrectionClusterTrackMatcher::~AliEmcalCorrectionClusterTrackMatcher ( )
virtual

Definition at line 57 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

AliEmcalCorrectionClusterTrackMatcher::AliEmcalCorrectionClusterTrackMatcher ( const AliEmcalCorrectionClusterTrackMatcher )
private

Member Function Documentation

void AliEmcalCorrectionClusterTrackMatcher::DoMatching ( )
protected

Definition at line 245 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterTrackMatcher::GenerateEmcalParticles ( )
protected

Definition at line 164 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by Run().

Int_t AliEmcalCorrectionClusterTrackMatcher::GetMomBin ( Double_t  p) const
protected

Definition at line 136 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by DoMatching().

Bool_t AliEmcalCorrectionClusterTrackMatcher::Initialize ( )
virtual

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 63 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Bool_t AliEmcalCorrectionClusterTrackMatcher::IsTrackInEmcalAcceptance ( AliVParticle *  part,
Double_t  edges = 0.9 
) const
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.

Parameters
[in]partParticle to check
[in]edgesSize of the edges in \(\phi\) excluded from the EMCAL acceptance
Returns
True if a particle is inside the EMCAL acceptance, false otherwise

Definition at line 377 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by GenerateEmcalParticles().

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

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 120 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

void AliEmcalCorrectionClusterTrackMatcher::UpdateClusters ( )
protected

Definition at line 292 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterTrackMatcher::UpdateTracks ( )
protected

Definition at line 353 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Referenced by Run().

void AliEmcalCorrectionClusterTrackMatcher::UserCreateOutputObjects ( )
virtual

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

Reimplemented from AliEmcalCorrectionComponent.

Definition at line 83 of file AliEmcalCorrectionClusterTrackMatcher.cxx.

Member Data Documentation

Bool_t AliEmcalCorrectionClusterTrackMatcher::fAttemptProp
protected

if true then attempt to propagate if not done yet

Definition at line 73 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by GenerateEmcalParticles().

Bool_t AliEmcalCorrectionClusterTrackMatcher::fAttemptPropMatch
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().

Bool_t AliEmcalCorrectionClusterTrackMatcher::fDoPropagation
protected

if true then propagate all hybrid tracks to EMCal surface

Definition at line 72 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by GenerateEmcalParticles(), and Initialize().

TClonesArray* AliEmcalCorrectionClusterTrackMatcher::fEmcalClusters
protected
TClonesArray* AliEmcalCorrectionClusterTrackMatcher::fEmcalTracks
protected
TH1* AliEmcalCorrectionClusterTrackMatcher::fHistMatchEta[8][9][2]
protected
TH1* AliEmcalCorrectionClusterTrackMatcher::fHistMatchEtaAll
protected

!deta distribution

Definition at line 83 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by DoMatching(), and UserCreateOutputObjects().

TH1* AliEmcalCorrectionClusterTrackMatcher::fHistMatchPhi[8][9][2]
protected
TH1* AliEmcalCorrectionClusterTrackMatcher::fHistMatchPhiAll
protected

!dphi distribution

Definition at line 84 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by DoMatching(), and UserCreateOutputObjects().

Double_t AliEmcalCorrectionClusterTrackMatcher::fMaxDistance
protected

maximum distance to match clusters and tracks

Definition at line 75 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by DoMatching(), and Initialize().

Int_t AliEmcalCorrectionClusterTrackMatcher::fNEmcalClusters
protected

!number of emcal clusters

Definition at line 82 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateClusters().

Int_t AliEmcalCorrectionClusterTrackMatcher::fNEmcalTracks
protected

!number of emcal tracks

Definition at line 81 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by DoMatching(), GenerateEmcalParticles(), and UpdateTracks().

Double_t AliEmcalCorrectionClusterTrackMatcher::fPropDist
protected

distance to surface (440cm default)

Definition at line 71 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by GenerateEmcalParticles().

Bool_t AliEmcalCorrectionClusterTrackMatcher::fUpdateClusters
protected

update clusters with matching info

Definition at line 77 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by Initialize(), and Run().

Bool_t AliEmcalCorrectionClusterTrackMatcher::fUpdateTracks
protected

update tracks with matching info

Definition at line 76 of file AliEmcalCorrectionClusterTrackMatcher.h.

Referenced by Initialize(), and Run().

RegisterCorrectionComponent< AliEmcalCorrectionClusterTrackMatcher > AliEmcalCorrectionClusterTrackMatcher::reg
staticprivate

Definition at line 93 of file AliEmcalCorrectionClusterTrackMatcher.h.


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