ATLAS Offline Software
JetPFlowSelectionAlg.h
Go to the documentation of this file.
1 // this is a -*- C++ -*- file
2 /*
3  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
4 */
5 
11 
12 #ifndef JetPFlowSelectionAlg_H
13 #define JetPFlowSelectionAlg_H
14 
16 #include "StoreGate/DataHandle.h"
18 
21 #include "xAODMuon/MuonContainer.h"
23 
25 
26 public:
27 
28  JetPFlowSelectionAlg(const std::string & n, ISvcLocator* l) : EL::AnaReentrantAlgorithm(n,l) {}
30 
32  StatusCode initialize() override;
33  StatusCode execute(const EventContext& ctx) const override;
34 
35 private:
36 
37  bool checkElectronLinks(const std::vector < ElementLink< xAOD::ElectronContainer > >& FE_ElectronLinks) const;
38  bool checkMuonLinks(const std::vector < ElementLink< xAOD::MuonContainer > >& FE_MuonLinks) const;
39 
40  Gaudi::Property<std::string> m_electronID{this,"electronID","LHMedium","Select electron ID"};
41  Gaudi::Property<bool> m_removeNeutralElectronFE{this,"removeNeutralElectronFE",false,"Remove neutral FE matched to electrons"};
42 
43  Gaudi::Property<std::string> m_muonID{this,"muonID","Medium","Select muon ID"};
44  Gaudi::Property<bool> m_removeNeutralMuonFE{this,"removeNeutralMuonFE",false,"Remove neutral FE matched to muons"};
45 
46  SG::ReadHandleKey<xAOD::FlowElementContainer> m_ChargedPFlowContainerKey = {this, "ChargedPFlowInputContainer", "", "The input Charged PFlow Objects"};
47  SG::ReadHandleKey<xAOD::FlowElementContainer> m_NeutralPFlowContainerKey = {this, "NeutralPFlowInputContainer", "", "The input Neutral PFlow Objects"};
48  SG::ReadHandleKey<xAOD::ElectronContainer> m_electronContainerKey = {this, "ElectronInputContainer", "", "The input electron container"};
49 
50 
51  SG::WriteHandleKey<xAOD::FlowElementContainer> m_outputChargedPFlowHandleKey= {this, "ChargedPFlowOutputContainer", "GlobalPFlowChargedParticleFlowObjects", "The output filtered Charged PFlow Objects"};
52  SG::WriteHandleKey<xAOD::FlowElementContainer> m_outputNeutralPFlowHandleKey= {this, "NeutralPFlowOutputContainer", "GlobalPFlowNeutralParticleFlowObjects", "The output filtered Neutral PFlow Objects"};
53 
54  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEElectronsReadDecorKey {this, "ChargedFEElectronsReadDecorKey", "JetETMissChargedParticleFlowObjects.FE_ElectronLinks", "Key for links from charged FE to electrons"};
55  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEMuonsReadDecorKey {this, "ChargedFEMuonsReadDecorKey", "JetETMissChargedParticleFlowObjects.FE_MuonLinks", "Key for links from charged FE to muons"};
56 
57  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEElectronsReadDecorKey {this, "NeutralFEElectronsReadDecorKey", "JetETMissNeutralParticleFlowObjects.FE_ElectronLinks", "Key for links from neutral FE to electrons"};
58 
59  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEMuonsReadDecorKey {this, "NeutralFEMuonsReadDecorKey","JetETMissNeutralParticleFlowObjects.FE_MuonLinks", "Key for links from neutral FE to muons"};
60 
61 
62  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEMuons_efrac_match_DecorKey{this,"FlowElementContainer_FE_efrac_matched_muon","JetETMissNeutralParticleFlowObjects.FE_efrac_matched_muon","ReadDecorHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"};
63 
64  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_chargedFE_energy_match_muonReadHandleKey{this,"FlowElementContainer_ChargedFE_energy_matched_muon","JetETMissChargedParticleFlowObjects.FE_efrac_matched_muon","ReadHandleKey for the fraction of neutral FlowElements cluster energy used to match to Muons"};
65 
66 
67 };
68 
69 #endif
FlowElementContainer.h
JetPFlowSelectionAlg::m_chargedFE_energy_match_muonReadHandleKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFE_energy_match_muonReadHandleKey
Definition: JetPFlowSelectionAlg.h:64
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
JetPFlowSelectionAlg::m_chargedFEElectronsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEElectronsReadDecorKey
Definition: JetPFlowSelectionAlg.h:54
AuxContainerBase.h
JetPFlowSelectionAlg::m_electronContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
Definition: JetPFlowSelectionAlg.h:48
JetPFlowSelectionAlg::m_outputNeutralPFlowHandleKey
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputNeutralPFlowHandleKey
Definition: JetPFlowSelectionAlg.h:52
JetPFlowSelectionAlg::m_removeNeutralMuonFE
Gaudi::Property< bool > m_removeNeutralMuonFE
Definition: JetPFlowSelectionAlg.h:44
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
JetPFlowSelectionAlg::m_ChargedPFlowContainerKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_ChargedPFlowContainerKey
Definition: JetPFlowSelectionAlg.h:46
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
JetPFlowSelectionAlg::m_chargedFEMuonsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEMuonsReadDecorKey
Definition: JetPFlowSelectionAlg.h:55
DataHandle.h
JetPFlowSelectionAlg::m_outputChargedPFlowHandleKey
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputChargedPFlowHandleKey
Definition: JetPFlowSelectionAlg.h:51
JetPFlowSelectionAlg::m_NeutralPFlowContainerKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_NeutralPFlowContainerKey
Definition: JetPFlowSelectionAlg.h:47
JetPFlowSelectionAlg::m_removeNeutralElectronFE
Gaudi::Property< bool > m_removeNeutralElectronFE
Definition: JetPFlowSelectionAlg.h:41
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ElectronContainer.h
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetPFlowSelectionAlg::checkMuonLinks
bool checkMuonLinks(const std::vector< ElementLink< xAOD::MuonContainer > > &FE_MuonLinks) const
Definition: JetPFlowSelectionAlg.cxx:295
JetPFlowSelectionAlg::m_muonID
Gaudi::Property< std::string > m_muonID
Definition: JetPFlowSelectionAlg.h:43
JetPFlowSelectionAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: JetPFlowSelectionAlg.cxx:38
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AlgorithmWorkerData.h:24
JetPFlowSelectionAlg::checkElectronLinks
bool checkElectronLinks(const std::vector< ElementLink< xAOD::ElectronContainer > > &FE_ElectronLinks) const
Definition: JetPFlowSelectionAlg.cxx:270
JetPFlowSelectionAlg::m_neutralFEMuonsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuonsReadDecorKey
Definition: JetPFlowSelectionAlg.h:59
JetPFlowSelectionAlg::m_neutralFEMuons_efrac_match_DecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuons_efrac_match_DecorKey
Definition: JetPFlowSelectionAlg.h:62
JetPFlowSelectionAlg::m_neutralFEElectronsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEElectronsReadDecorKey
Definition: JetPFlowSelectionAlg.h:57
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaReentrantAlgorithm.cxx:29
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition: AnaReentrantAlgorithm.h:51
MuonContainer.h
AnaReentrantAlgorithm.h
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition: StoreGate/StoreGate/ReadDecorHandleKey.h:85
JetPFlowSelectionAlg::JetPFlowSelectionAlg
JetPFlowSelectionAlg(const std::string &n, ISvcLocator *l)
Definition: JetPFlowSelectionAlg.h:28
JetPFlowSelectionAlg::m_electronID
Gaudi::Property< std::string > m_electronID
Definition: JetPFlowSelectionAlg.h:40
JetPFlowSelectionAlg
Definition: JetPFlowSelectionAlg.h:24
JetPFlowSelectionAlg::initialize
StatusCode initialize() override
Athena algorithm's Hooks.
Definition: JetPFlowSelectionAlg.cxx:17