ATLAS Offline Software
Loading...
Searching...
No Matches
EnergyCorrelatorGeneralizedTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3*/
4
18
19#ifndef jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
20#define jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
21
24
27
31
32 public:
33
35 EnergyCorrelatorGeneralizedTool(const std::string& name);
36
37 virtual StatusCode initialize() override;
38
39 StatusCode modify(xAOD::JetContainer& jets) const override;
40
41 private:
42 Gaudi::Property<std::string> m_jetContainerName{this, "JetContainer", "", "SG key for the input jet container"};
43
45 struct moments_t;
46
48 float m_Beta;
49 bool m_doM3;
50 bool m_doN3;
52 std::vector<float> m_rawBetaVals;
54
56 std::map< float, moments_t > m_moments;
57
60 this, "ECFG_2_1_2_Key", "ECFG_2_1_2"};
62 this, "ECFG_3_1_1_Key", "ECFG_3_1_1"};
64 this, "ECFG_3_2_1_Key", "ECFG_3_2_1"};
66 this, "ECFG_3_2_2_Key", "ECFG_3_2_2"};
68 this, "ECFG_3_3_1_Key", "ECFG_3_3_1"};
70 this, "ECFG_4_2_2_Key", "ECFG_4_2_2"};
72 this, "ECFG_4_4_1_Key", "ECFG_4_4_1"};
73
76 this, "ECFG_3_3_2_Key", "ECFG_3_3_2"};
77
78 };
79
87
89
91 std::string prefix;
92
94 std::string suffix;
95
97 float beta;
98
100 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_2_1;
101 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_1;
102 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_2;
103 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_4_1;
104 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_4_2;
105
107 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_2_1_ungroomed;
108 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_1_ungroomed;
109 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_2_ungroomed;
110
111 moments_t (float Beta, const std::string& Prefix)
112 : prefix (Prefix),
113 suffix (GetBetaSuffix(Beta)),
114 beta (Beta),
115
116 dec_ECFG_2_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_2_1"+suffix)),
117 dec_ECFG_3_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_1"+suffix)),
118 dec_ECFG_3_2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_2"+suffix)),
119 dec_ECFG_4_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_4_1"+suffix)),
120 dec_ECFG_4_2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_4_2"+suffix)),
121
122 dec_ECFG_2_1_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_2_1_ungroomed"+suffix)),
123 dec_ECFG_3_1_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_1_ungroomed"+suffix)),
124 dec_ECFG_3_2_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_2_ungroomed"+suffix))
125 {
126 }
127
128};
129
130#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
std::string GetBetaSuffix(float beta)
Definition ECFHelper.cxx:10
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_4_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_2_Key
Added for MDT studies, might remove later.
float m_Beta
Configurable as properties.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_2_1_2_Key
Decorators for L-series ECFs.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_2_2_Key
std::map< float, moments_t > m_moments
Map of moment decorators using beta as the key.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_1_Key
Gaudi::Property< std::string > m_jetContainerName
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_1_1_Key
StatusCode modify(xAOD::JetContainer &jets) const override
Loop over calls to modifyJet.
bool m_doDichroic
Vector of input values before cleaning.
EnergyCorrelatorGeneralizedTool(const std::string &name)
Constructor.
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_1_Key
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
JetSubStructureMomentToolsBase(const std::string &name)
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
Forward declaration.
STL namespace.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1
ECFG decorators.
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1_ungroomed
ECFG ungroomed decorators.
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1