ATLAS Offline Software
Loading...
Searching...
No Matches
PFMuonFlowElementAssoc.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5/*
6 * PFMuonFlowElementAssoc.h
7 * Header file for class PFEMuonFlowElementAssoc
8 *
9 * Created by M.T. Anthony
10 */
11
12
13#ifndef PFMUONFLOWELEMENTASSOC_H
14#define PFMUONFLOWELEMENTASSOC_H
15
18#include "GaudiKernel/ToolHandle.h"
23
28
30
31public:
32 using AthReentrantAlgorithm::AthReentrantAlgorithm;
33
34 PFMuonFlowElementAssoc(const std::string& name, ISvcLocator* pSvcLocator);
35
37
38 virtual StatusCode initialize();
39 virtual StatusCode execute(const EventContext & ctx ) const;
40
41private:
42
48 std::pair<double,double> doMuonCellMatching(bool& isCellMatched, const xAOD::CaloCluster& FECluster, const xAOD::CaloCluster& muonCluster) const;
49
50 // ReadHandleKeys
51 SG::ReadHandleKey<xAOD::MuonContainer> m_muonReadHandleKey{this,"MuonContainer","Muons","ReadHandleKey for Muons"};
52
53 SG::ReadHandleKey<xAOD::FlowElementContainer> m_neutralFEReadHandleKey{this,"JetEtMissNeutralFlowElementContainer","JetETMissNeutralParticleFlowObjects","ReadHandleKey for neutral FlowElements"};
54
55 SG::ReadHandleKey<xAOD::FlowElementContainer> m_chargedFEReadHandleKey{this,"JetEtMissChargedFlowElementContainer","JetETMissChargedParticleFlowObjects","ReadHandleKey for charged FlowElements"};
56
58 SG::WriteDecorHandleKey<xAOD::MuonContainer> m_muonChargedFEWriteHandleKey{this,"MuonContainer_chargedFELinks",m_muonReadHandleKey,"chargedFELinks","WriteHandleKey for muon link to charged FlowElements"};
59
61 SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_ChargedFE_energy_match_muonWriteHandleKey{this,"FlowElementContainer_ChargedFE_ennergy_matched_muon",m_chargedFEReadHandleKey,"FE_efrac_matched_muon","WriteHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"};
62
63
65 SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_ChargedFEmuonWriteHandleKey{this,"JetETMissChargedFlowElements_FE_MuonLinks",m_chargedFEReadHandleKey,"FE_MuonLinks","WriteHandleKey for Charged Flow Elements coupled to muons"};
66
68 SG::WriteDecorHandleKey<xAOD::MuonContainer> m_muonNeutralFEWriteHandleKey{this,"MuonContainer_neutralFELinks",m_muonReadHandleKey,"neutralFELinks","WriteHandleKey for muon links to neutral FlowElement"};
69
71 SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_NeutralFEmuonWriteHandleKey{this,"JetETMissNeutralFlowElementContainer_FE_MuonLinks",m_neutralFEReadHandleKey,"FE_MuonLinks","WriteHandleKey for neutral flow Elements to Muons"};
72
74 SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_NeutralFE_efrac_match_muonWriteHandleKey{this,"FlowElementContainer_FE_efrac_matched_muon",m_neutralFEReadHandleKey,"FE_efrac_matched_muon","WriteHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"};
75
77 SG::WriteDecorHandleKey<xAOD::MuonContainer> m_muonNeutralFE_muon_efrac_WriteDecorHandleKey{this,"MuonContainer_muon_efrac_matched_FE",m_muonReadHandleKey,"muon_efrac_matched_FE","WriteHandleKey for the fraction of muon cluster energy used to match to neutral Flow Elements"};
78
80 SG::WriteDecorHandleKey<xAOD::FlowElementContainer> m_NeutralFEmuon_nMatches_WriteDecorHandleKey{this,"FlowElementContainer_nMatchedMuons",m_neutralFEReadHandleKey,"FE_nMatchedMuons","WriteHandleKey for the number of muons matched to a given neutral flow element"};
81
83 SG::WriteDecorHandleKey<xAOD::MuonContainer>m_muon_ClusterInfo_deltaR_WriteDecorHandleKey{this,"MuonContainer_ClusterInfo_deltaR",m_muonReadHandleKey,"ClusterInfo_deltaR","WriteHandleKey for the delta R between the muon and it's associated calocluster"};
84
85 SG::ReadDecorHandleKey<xAOD::CaloClusterContainer> m_ClustCollectionLinkKey{this,"ElementLinkName", "MuonClusterCollection.constituentClusterLinks"};
86
88 Gaudi::Property<bool> m_LinkNeutralFEClusters{this,"LinkNeutralFEClusters",false,"Toggle usage of linkage of Neutral FlowElements - false by default (EXPERIMENTAL)"};
89
95 Gaudi::Property<bool> m_useMuonTopoClusters{this,"useMuonTopoClusters",false,"Toggle usage of linker of muon associated topoclusters to flow elements - false by default (EXPERIMENTAL)"};
96};
97#endif // PFMUONFLOWELEMENTASSOC.H
defines an "iterator" over instances of a given type in StoreGateSvc
Handle class for adding a decoration to an object.
An algorithm that can be simultaneously executed in multiple threads.
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_ChargedFE_energy_match_muonWriteHandleKey
Write key for adding fraction of nFlowElement cluster energy used in cell matching decoration of Flow...
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_muonNeutralFE_muon_efrac_WriteDecorHandleKey
Write key for adding fraction of Muon cluster energy used in cell matching decoration of MuonContaine...
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_NeutralFEmuon_nMatches_WriteDecorHandleKey
Write key to count number of muons matched to a given neutral FE - EXPERIMENTAL.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_muon_ClusterInfo_deltaR_WriteDecorHandleKey
Write key to measure dR between calo clusters and the muon -EXPERIMENTAL.
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_NeutralFE_efrac_match_muonWriteHandleKey
Write key for adding fraction of nFlowElement cluster energy used in cell matching decoration of Flow...
std::pair< double, double > doMuonCellMatching(bool &isCellMatched, const xAOD::CaloCluster &FECluster, const xAOD::CaloCluster &muonCluster) const
Function that flags whether the FE cluster has any cell that is also in the muon list of cells.
SG::ReadDecorHandleKey< xAOD::CaloClusterContainer > m_ClustCollectionLinkKey
Gaudi::Property< bool > m_useMuonTopoClusters
(EXPERIMENTAL) Gaudi Property to configure linkage of Neutral FEs to TopoClusters associated to Muons...
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_muonNeutralFEWriteHandleKey
Write key for adding neutral Flow Element link decorations to muons.
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_NeutralFEmuonWriteHandleKey
Write key for adding Muon link decorations to neutral Flow Elements.
SG::ReadHandleKey< xAOD::FlowElementContainer > m_neutralFEReadHandleKey
SG::WriteDecorHandleKey< xAOD::FlowElementContainer > m_ChargedFEmuonWriteHandleKey
Write key for adding Muon link decorations to charged Flow Elements.
SG::WriteDecorHandleKey< xAOD::MuonContainer > m_muonChargedFEWriteHandleKey
Write key for adding charged Flow Element link decorations to muons.
virtual ~PFMuonFlowElementAssoc()
SG::ReadHandleKey< xAOD::FlowElementContainer > m_chargedFEReadHandleKey
Gaudi::Property< bool > m_LinkNeutralFEClusters
Gaudi Property to configure linkage of Neutral Flow Elements to Muon clusters (EXPERIMENTAL - default...
virtual StatusCode initialize()
SG::ReadHandleKey< xAOD::MuonContainer > m_muonReadHandleKey
virtual StatusCode execute(const EventContext &ctx) const
PFMuonFlowElementAssoc(const std::string &name, ISvcLocator *pSvcLocator)
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.