ATLAS Offline Software
Loading...
Searching...
No Matches
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
18
23
25
26public:
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
35private:
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
defines an "iterator" over instances of a given type in StoreGateSvc
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
the base class for EventLoop reentrant algorithms
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputNeutralPFlowHandleKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEElectronsReadDecorKey
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
SG::ReadHandleKey< xAOD::FlowElementContainer > m_ChargedPFlowContainerKey
JetPFlowSelectionAlg(const std::string &n, ISvcLocator *l)
Gaudi::Property< std::string > m_electronIDToInclude
Gaudi::Property< std::string > m_muonIDToInclude
Gaudi::Property< bool > m_includeChargedElectronFE
Gaudi::Property< bool > m_excludeNeutralMuonFE
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEMuonsReadDecorKey
Gaudi::Property< bool > m_excludeNeutralElectronFE
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuonsReadDecorKey
Gaudi::Property< bool > m_includeChargedMuonFE
Gaudi::Property< bool > m_includeNeutralMuonFE
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFE_energy_match_muonReadHandleKey
Gaudi::Property< std::string > m_muonIDToExclude
Gaudi::Property< bool > m_excludeChargedElectronFE
Gaudi::Property< bool > m_excludeChargedMuonFE
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_neutralFEMuons_efrac_match_DecorKey
AnaReentrantAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
StatusCode execute(const EventContext &ctx) const override
Gaudi::Property< bool > m_includeNeutralElectronFE
SG::ReadHandleKey< xAOD::FlowElementContainer > m_NeutralPFlowContainerKey
Gaudi::Property< std::string > m_electronIDToExclude
SG::WriteHandleKey< xAOD::FlowElementContainer > m_outputChargedPFlowHandleKey
SG::ReadDecorHandleKey< xAOD::FlowElementContainer > m_chargedFEElectronsReadDecorKey
StatusCode initialize() override
Athena algorithm's Hooks.
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 from which a WriteHandle is made.
This module defines the arguments passed from the BATCH driver to the BATCH worker.