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  Gaudi::Property<std::string> m_electronIDToExclude{this,"electronIDToExclude","LHMedium","Select electron ID to exclude"};
38  Gaudi::Property<std::string> m_electronIDToInclude{this,"electronIDToInclude","LHLoose","Select electron ID to include"};
39  Gaudi::Property<bool> m_excludeChargedElectronFE{this,"excludeChargedElectronFE",true,"Exclude charged FE matched to electrons"};
40  Gaudi::Property<bool> m_includeChargedElectronFE{this,"includeChargedElectronFE",false,"Include charged FE matched to electrons"};
41  Gaudi::Property<bool> m_excludeNeutralElectronFE{this,"excludeNeutralElectronFE",false,"Exclude neutral FE matched to electrons"};
42  Gaudi::Property<bool> m_includeNeutralElectronFE{this,"includeNeutralElectronFE",false,"Include neutral FE matched to electrons"};
43 
44  Gaudi::Property<std::string> m_muonIDToExclude{this,"muonIDToExclude","Medium","Select muon ID to exclude"};
45  Gaudi::Property<std::string> m_muonIDToInclude{this,"muonIDToInclude","Loose","Select muon ID to include"};
46  Gaudi::Property<bool> m_excludeChargedMuonFE{this,"excludeChargedMuonFE",true,"Exclude charged FE matched to muons"};
47  Gaudi::Property<bool> m_includeChargedMuonFE{this,"includeChargedMuonFE",false,"Include charged FE matched to muons"};
48  Gaudi::Property<bool> m_excludeNeutralMuonFE{this,"excludeNeutralMuonFE",false,"Exclude neutral FE matched to muons"};
49  Gaudi::Property<bool> m_includeNeutralMuonFE{this,"includeNeutralMuonFE",false,"Include neutral FE matched to muons"};
50 
51  SG::ReadHandleKey<xAOD::FlowElementContainer> m_ChargedPFlowContainerKey = {this, "ChargedPFlowInputContainer", "", "The input Charged PFlow Objects"};
52  SG::ReadHandleKey<xAOD::FlowElementContainer> m_NeutralPFlowContainerKey = {this, "NeutralPFlowInputContainer", "", "The input Neutral PFlow Objects"};
53  SG::ReadHandleKey<xAOD::ElectronContainer> m_electronContainerKey = {this, "ElectronInputContainer", "", "The input electron container"};
54 
55 
56  SG::WriteHandleKey<xAOD::FlowElementContainer> m_outputChargedPFlowHandleKey= {this, "ChargedPFlowOutputContainer", "GlobalPFlowChargedParticleFlowObjects", "The output filtered Charged PFlow Objects"};
57  SG::WriteHandleKey<xAOD::FlowElementContainer> m_outputNeutralPFlowHandleKey= {this, "NeutralPFlowOutputContainer", "GlobalPFlowNeutralParticleFlowObjects", "The output filtered Neutral PFlow Objects"};
58 
59  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEElectronsReadDecorKey {this, "ChargedFEElectronsReadDecorKey", "JetETMissChargedParticleFlowObjects.FE_ElectronLinks", "Key for links from charged FE to electrons"};
60  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_chargedFEMuonsReadDecorKey {this, "ChargedFEMuonsReadDecorKey", "JetETMissChargedParticleFlowObjects.FE_MuonLinks", "Key for links from charged FE to muons"};
61 
62  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEElectronsReadDecorKey {this, "NeutralFEElectronsReadDecorKey", "JetETMissNeutralParticleFlowObjects.FE_ElectronLinks", "Key for links from neutral FE to electrons"};
63 
64  SG::ReadDecorHandleKey<xAOD::FlowElementContainer> m_neutralFEMuonsReadDecorKey {this, "NeutralFEMuonsReadDecorKey","JetETMissNeutralParticleFlowObjects.FE_MuonLinks", "Key for links from neutral FE to muons"};
65 
66 
67  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"};
68 
69  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"};
70 
71 
72 
73 };
74 
75 #endif
JetPFlowSelectionAlg::m_includeNeutralElectronFE
Gaudi::Property< bool > m_includeNeutralElectronFE
Definition: JetPFlowSelectionAlg.h:42
JetPFlowSelectionAlg::m_electronIDToInclude
Gaudi::Property< std::string > m_electronIDToInclude
Definition: JetPFlowSelectionAlg.h:38
FlowElementContainer.h
JetPFlowSelectionAlg::m_chargedFE_energy_match_muonReadHandleKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFE_energy_match_muonReadHandleKey
Definition: JetPFlowSelectionAlg.h:69
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
JetPFlowSelectionAlg::m_excludeNeutralElectronFE
Gaudi::Property< bool > m_excludeNeutralElectronFE
Definition: JetPFlowSelectionAlg.h:41
JetPFlowSelectionAlg::m_chargedFEElectronsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEElectronsReadDecorKey
Definition: JetPFlowSelectionAlg.h:59
AuxContainerBase.h
JetPFlowSelectionAlg::m_electronContainerKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
Definition: JetPFlowSelectionAlg.h:53
JetPFlowSelectionAlg::m_outputNeutralPFlowHandleKey
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputNeutralPFlowHandleKey
Definition: JetPFlowSelectionAlg.h:57
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:157
JetPFlowSelectionAlg::m_ChargedPFlowContainerKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_ChargedPFlowContainerKey
Definition: JetPFlowSelectionAlg.h:51
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:60
DataHandle.h
JetPFlowSelectionAlg::m_outputChargedPFlowHandleKey
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputChargedPFlowHandleKey
Definition: JetPFlowSelectionAlg.h:56
JetPFlowSelectionAlg::m_NeutralPFlowContainerKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_NeutralPFlowContainerKey
Definition: JetPFlowSelectionAlg.h:52
JetPFlowSelectionAlg::m_excludeChargedElectronFE
Gaudi::Property< bool > m_excludeChargedElectronFE
Definition: JetPFlowSelectionAlg.h:39
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
ElectronContainer.h
JetPFlowSelectionAlg::m_excludeNeutralMuonFE
Gaudi::Property< bool > m_excludeNeutralMuonFE
Definition: JetPFlowSelectionAlg.h:48
JetPFlowSelectionAlg::m_electronIDToExclude
Gaudi::Property< std::string > m_electronIDToExclude
Definition: JetPFlowSelectionAlg.h:37
beamspotman.n
n
Definition: beamspotman.py:729
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetPFlowSelectionAlg::execute
StatusCode execute(const EventContext &ctx) const override
Definition: JetPFlowSelectionAlg.cxx:41
EL
This module defines the arguments passed from the BATCH driver to the BATCH worker.
Definition: AsgComponentFactories.h:16
JetPFlowSelectionAlg::m_neutralFEMuonsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuonsReadDecorKey
Definition: JetPFlowSelectionAlg.h:64
JetPFlowSelectionAlg::m_excludeChargedMuonFE
Gaudi::Property< bool > m_excludeChargedMuonFE
Definition: JetPFlowSelectionAlg.h:46
JetPFlowSelectionAlg::m_neutralFEMuons_efrac_match_DecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuons_efrac_match_DecorKey
Definition: JetPFlowSelectionAlg.h:67
JetPFlowSelectionAlg::m_includeNeutralMuonFE
Gaudi::Property< bool > m_includeNeutralMuonFE
Definition: JetPFlowSelectionAlg.h:49
JetPFlowSelectionAlg::m_neutralFEElectronsReadDecorKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEElectronsReadDecorKey
Definition: JetPFlowSelectionAlg.h:62
EL::AnaReentrantAlgorithm::AnaReentrantAlgorithm
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaReentrantAlgorithm.cxx:29
JetPFlowSelectionAlg::m_muonIDToInclude
Gaudi::Property< std::string > m_muonIDToInclude
Definition: JetPFlowSelectionAlg.h:45
EL::AnaReentrantAlgorithm
the base class for EventLoop reentrant algorithms
Definition: AnaReentrantAlgorithm.h:51
JetPFlowSelectionAlg::m_includeChargedElectronFE
Gaudi::Property< bool > m_includeChargedElectronFE
Definition: JetPFlowSelectionAlg.h:40
MuonContainer.h
AnaReentrantAlgorithm.h
JetPFlowSelectionAlg::m_muonIDToExclude
Gaudi::Property< std::string > m_muonIDToExclude
Definition: JetPFlowSelectionAlg.h:44
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_includeChargedMuonFE
Gaudi::Property< bool > m_includeChargedMuonFE
Definition: JetPFlowSelectionAlg.h:47
JetPFlowSelectionAlg
Definition: JetPFlowSelectionAlg.h:24
JetPFlowSelectionAlg::initialize
StatusCode initialize() override
Athena algorithm's Hooks.
Definition: JetPFlowSelectionAlg.cxx:20