ATLAS Offline Software
Loading...
Searching...
No Matches
SoftElectronSelectionAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef SOFT_ELECTRON_SELECTION_ALG_HH
6#define SOFT_ELECTRON_SELECTION_ALG_HH
7
12
16
17namespace FlavorTagJetDecorators {
18
26
28 public:
29 SoftElectronSelectionAlg(const std::string& name,
30 ISvcLocator* pSvcLocator);
31
32 virtual StatusCode initialize() override;
33 virtual StatusCode execute(const EventContext&) const override;
34
35 private:
36 bool passedCuts(const xAOD::Jet& jet,
37 const xAOD::Electron& el,
38 float energyOverP,
39 float et,
40 float isoOverPt,
41 float dpop) const;
42
43 // Input
45 this, "jetContainer", "AntiKt4EMPFlowJets",
46 "Key for the input jet collection"};
47
49 this, "electronContainer", "Electrons",
50 "Key for the input electron collection"};
51
52 // Input decoration on jets: FTag ghost-associated electrons
53 // (written by the b-tagging chain, a downstream algorithm).
55 this, "ghostElectronsKey", m_jetContainerKey, "FTagElectrons",
56 "Input decoration: FTag ghost-associated electron links per jet"};
57
58 // Output decoration on jets
60 this, "selectedElectronsKey", "AntiKt4EMPFlowJets.GhostFTagSelectedElectrons",
61 "Output decoration: selected electron links per jet"};
62
63 // Read decorations on electrons (from SoftElectronDecoratorAlg)
65 this, "energyOverPKey", "Electrons.ftag_energyOverP",
66 "E/p decoration on electrons"};
67
69 this, "etKey", "Electrons.ftag_et",
70 "ET decoration on electrons"};
71
73 this, "isoOverPtKey", "Electrons.ftag_ptVarCone30OverPt",
74 "Isolation/pT decoration on electrons"};
75
77 this, "dpopKey", "Electrons.ftag_deltaPOverP",
78 "deltaPOverP decoration on electrons"};
79
80 // Selection cut thresholds (defaults match GN3_lite.json)
81 Gaudi::Property<float> m_ptMinimum {
82 this, "ptMinimum", 1000., "Minimum electron pT [MeV]"};
83 Gaudi::Property<float> m_ptMaximum {
84 this, "ptMaximum", 500000., "Maximum electron pT [MeV]"};
85 Gaudi::Property<float> m_absEtaMaximum {
86 this, "absEtaMaximum", 2.5, "Maximum |eta|"};
87 Gaudi::Property<float> m_d0Maximum {
88 this, "d0Maximum", 1., "Maximum |d0| [mm]"};
89 Gaudi::Property<float> m_eopMaximum {
90 this, "eopMaximum", 30., "Maximum |E/p|"};
91 Gaudi::Property<float> m_etMaximum {
92 this, "etMaximum", 50000., "Maximum ET [MeV]"};
93 Gaudi::Property<float> m_isoptMaximum {
94 this, "isoptMaximum", 40., "Maximum |ptVarCone30/pT|"};
95 Gaudi::Property<float> m_ptrelMaximum {
96 this, "ptrelMaximum", 5000., "Maximum ptrel [MeV]"};
97 Gaudi::Property<float> m_rhad1Maximum {
98 this, "rhad1Maximum", 4., "Maximum |Rhad1|"};
99 Gaudi::Property<float> m_wstotMaximum {
100 this, "wstotMaximum", 20., "Maximum |wtots1|"};
101 Gaudi::Property<float> m_rphiMaximum {
102 this, "rphiMaximum", 2., "Maximum |Rphi|"};
103 Gaudi::Property<float> m_retaMaximum {
104 this, "retaMaximum", 2., "Maximum |Reta|"};
105 Gaudi::Property<float> m_deta1Maximum {
106 this, "deta1Maximum", 10., "Maximum |deltaEta1|"};
107 Gaudi::Property<float> m_dpopMaximum {
108 this, "dpopMaximum", 5., "Maximum |deltaPOverP|"};
109 Gaudi::Property<float> m_maxDeltaR {
110 this, "maxDeltaR", -1.,
111 "Maximum DeltaR(jet, electron); <=0 disables the cut "
112 "(rely on ghost-association alone)"};
113 };
114
115} // namespace FlavorTagJetDecorators
116
117#endif
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.
An algorithm that can be simultaneously executed in multiple threads.
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_dpopKey
SG::ReadDecorHandleKey< xAOD::JetContainer > m_ghostElectronsKey
SoftElectronSelectionAlg(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_etKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_isoOverPtKey
virtual StatusCode execute(const EventContext &) const override
bool passedCuts(const xAOD::Jet &jet, const xAOD::Electron &el, float energyOverP, float et, float isoOverPt, float dpop) const
SG::ReadHandleKey< xAOD::ElectronContainer > m_electronContainerKey
SG::WriteDecorHandleKey< xAOD::JetContainer > m_selectedElectronsKey
SG::ReadDecorHandleKey< xAOD::ElectronContainer > m_energyOverPKey
SG::ReadHandleKey< xAOD::JetContainer > m_jetContainerKey
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.
Jet_v1 Jet
Definition of the current "jet version".
Electron_v1 Electron
Definition of the current "egamma version".
Extra patterns decribing particle interation process.