ATLAS Offline Software
Loading...
Searching...
No Matches
EnergyCorrelatorRatiosTool.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_energycorrelatorratiostool_header
20#define jetsubstructuremomenttools_energycorrelatorratiostool_header
21
24
28
29 public:
30
32 EnergyCorrelatorRatiosTool(const std::string& name);
33
34 virtual StatusCode initialize() override;
35
36 int modifyJet(xAOD::Jet &jet) const override;
37
38 private:
39
41 struct moments_t;
42
44 bool m_doC3;
45 bool m_doC4;
46 std::vector<float> m_rawBetaVals;
48
50 std::map< float, moments_t > m_moments;
51
52 };
53
61
63
65 std::string prefix;
66
68 std::string suffix;
69
71 float beta;
72
74 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF1;
75 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF2;
76 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF3;
77 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF4;
78 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF5;
79
81 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF1_ungroomed;
82 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF2_ungroomed;
83 std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECF3_ungroomed;
84
86 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_C1;
87 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_C2;
88 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_C3;
89 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_C4;
90 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_D2;
91
93 std::unique_ptr< SG::AuxElement::Decorator<float> > dec_D2_dichroic;
94
95 moments_t (float Beta, const std::string& Prefix)
96 : prefix (Prefix),
97 suffix (GetBetaSuffix(Beta)),
98 beta (Beta),
99
100 acc_ECF1 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF1"+suffix)),
101 acc_ECF2 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF2"+suffix)),
102 acc_ECF3 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF3"+suffix)),
103 acc_ECF4 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF4"+suffix)),
104 acc_ECF5 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF5"+suffix)),
105
106 acc_ECF1_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF1_ungroomed"+suffix)),
107 acc_ECF2_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF2_ungroomed"+suffix)),
108 acc_ECF3_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECF3_ungroomed"+suffix)),
109
110 dec_C1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"C1"+suffix)),
111 dec_C2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"C2"+suffix)),
112 dec_C3 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"C3"+suffix)),
113 dec_C4 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"C4"+suffix)),
114 dec_D2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"D2"+suffix)),
115
116 dec_D2_dichroic (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"D2_dichroic"+suffix))
117 {
118 }
119
120};
121
122#endif
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
std::string GetBetaSuffix(float beta)
Definition ECFHelper.cxx:10
bool m_doC3
Configurable as properties.
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
std::map< float, moments_t > m_moments
Map of moment accessors and decorators using beta as the key.
int modifyJet(xAOD::Jet &jet) const override
Modify a single jet. This is obsolete and set to be removed.
bool m_doDichroic
Vector of input values before cleaning.
EnergyCorrelatorRatiosTool(const std::string &name)
Constructor.
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
JetSubStructureMomentToolsBase(const std::string &name)
Forward declaration.
STL namespace.
Jet_v1 Jet
Definition of the current "jet version".
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF3
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF1
ECF accessors.
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF2_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF1_ungroomed
ECF ungroomed accessors.
std::string suffix
Suffix for decorations.
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF5
moments_t(float Beta, const std::string &Prefix)
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF4
std::string prefix
Prefix for decorations.
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C1
C and D series decorators.
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C4
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF3_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_D2_dichroic
Dichroic C and D series decorators.
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_D2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C3