ATLAS Offline Software
EnergyCorrelatorGeneralizedRatiosTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
19 #ifndef jetsubstructuremomenttools_energycorrelatorgeneralizedratiostool_header
20 #define jetsubstructuremomenttools_energycorrelatorgeneralizedratiostool_header
21 
24 
28 
29  public:
30 
32  EnergyCorrelatorGeneralizedRatiosTool(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_doM3;
45  bool m_doN3;
47  std::vector<float> m_rawBetaVals;
49 
51  std::map< float, moments_t > m_moments;
52 
54  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_2_1_2;
55  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_3_1_1;
56  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_3_2_1;
57  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_3_2_2;
58  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_3_3_1;
59  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_4_2_2;
60  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > m_acc_ECFG_4_4_1;
61 
63  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_L1;
64  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_L2;
65  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_L3;
66  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_L4;
67  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_L5;
68 
69 };
70 
80 
82  std::string prefix;
83 
85  std::string suffix;
86 
88  float beta;
89 
91  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_2_1;
92  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_3_1;
93  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_3_2;
94  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_4_1;
95  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_4_2;
96 
98  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_2_1_ungroomed;
99  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_3_1_ungroomed;
100  std::unique_ptr< SG::AuxElement::ConstAccessor<float> > acc_ECFG_3_2_ungroomed;
101 
103  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_M2;
104  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_M3;
105  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_N2;
106  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_N3;
107 
109  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_M2_dichroic;
110  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_N2_dichroic;
111 
112  moments_t (float Beta, const std::string& Prefix)
113  : prefix (Prefix),
115  beta (Beta),
116 
117  acc_ECFG_2_1 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_2_1"+suffix)),
118  acc_ECFG_3_1 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_3_1"+suffix)),
119  acc_ECFG_3_2 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_3_2"+suffix)),
120  acc_ECFG_4_1 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_4_1"+suffix)),
121  acc_ECFG_4_2 (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_4_2"+suffix)),
122 
123  acc_ECFG_2_1_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_2_1_ungroomed"+suffix)),
124  acc_ECFG_3_1_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_3_1_ungroomed"+suffix)),
125  acc_ECFG_3_2_ungroomed (std::make_unique< SG::AuxElement::ConstAccessor<float> >(prefix+"ECFG_3_2_ungroomed"+suffix)),
126 
127  dec_M2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"M2"+suffix)),
128  dec_M3 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"M3"+suffix)),
129  dec_N2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"N2"+suffix)),
130  dec_N3 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"N3"+suffix)),
131 
132  dec_M2_dichroic (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"M2_dichroic"+suffix)),
133  dec_N2_dichroic (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"N2_dichroic"+suffix))
134  {
135  }
136 
137 };
138 
139 #endif
EnergyCorrelatorGeneralizedRatiosTool::m_dec_L4
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_L4
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:66
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_3_2_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_3_2_ungroomed
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:100
EnergyCorrelatorGeneralizedRatiosTool::m_doLSeries
bool m_doLSeries
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:46
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
EnergyCorrelatorGeneralizedRatiosTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:47
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_3_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_3_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:92
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_2_1_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_2_1_ungroomed
ECFG ungroomed accessors.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:98
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_4_4_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_4_4_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:60
EnergyCorrelatorGeneralizedRatiosTool::modifyJet
int modifyJet(xAOD::Jet &jet) const override
Modify a single jet. This is obsolete and set to be removed.
Definition: EnergyCorrelatorGeneralizedRatiosTool.cxx:69
EnergyCorrelatorGeneralizedRatiosTool
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:26
EnergyCorrelatorGeneralizedRatiosTool::m_dec_L3
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_L3
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:65
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_N2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_N2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:105
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_4_2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_4_2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:95
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_3_2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_3_2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:93
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_2_1_2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_2_1_2
ConstAccessors for L-series ECFs.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:54
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_3_2_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_3_2_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:56
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_3_3_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_3_3_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:58
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_M2_dichroic
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_M2_dichroic
Dichroic M and N series decorators.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:109
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_3_1_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_3_1_ungroomed
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:99
EnergyCorrelatorGeneralizedRatiosTool::m_moments
std::map< float, moments_t > m_moments
Map of moment accessors and decorators using beta as the key.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:51
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_N2_dichroic
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_N2_dichroic
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:110
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_3_1_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_3_1_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:55
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_2_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_2_1
ECFG accessors.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:91
EnergyCorrelatorGeneralizedRatiosTool::moments_t
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:79
EnergyCorrelatorGeneralizedRatiosTool::m_dec_L5
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_L5
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:67
EnergyCorrelatorGeneralizedRatiosTool::m_doN3
bool m_doN3
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:45
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase.h
EnergyCorrelatorGeneralizedRatiosTool::m_dec_L1
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_L1
Decorator for L-series ECFRs.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:63
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_3_2_2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_3_2_2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:57
EnergyCorrelatorGeneralizedRatiosTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:48
EnergyCorrelatorGeneralizedRatiosTool::EnergyCorrelatorGeneralizedRatiosTool
EnergyCorrelatorGeneralizedRatiosTool(const std::string &name)
Constructor.
Definition: EnergyCorrelatorGeneralizedRatiosTool.cxx:8
EnergyCorrelatorGeneralizedRatiosTool::m_dec_L2
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_L2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:64
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition: ECFHelper.cxx:10
EnergyCorrelatorGeneralizedRatiosTool::moments_t::acc_ECFG_4_1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECFG_4_1
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:94
EnergyCorrelatorGeneralizedRatiosTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:82
EnergyCorrelatorGeneralizedRatiosTool::moments_t::beta
float beta
Beta value for calculations.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:88
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EnergyCorrelatorGeneralizedRatiosTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: EnergyCorrelatorGeneralizedRatiosTool.cxx:18
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_M2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_M2
M and N series decorators.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:103
TrigJetMonitorAlgorithm.Beta
Beta
Definition: TrigJetMonitorAlgorithm.py:1085
ECFHelper.h
EnergyCorrelatorGeneralizedRatiosTool::m_doM3
bool m_doM3
Configurable as properties.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:41
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
EnergyCorrelatorGeneralizedRatiosTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:112
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_M3
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_M3
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:104
readCCLHist.float
float
Definition: readCCLHist.py:83
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition: IJetModifier.h:20
EnergyCorrelatorGeneralizedRatiosTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:85
EnergyCorrelatorGeneralizedRatiosTool::m_acc_ECFG_4_2_2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > m_acc_ECFG_4_2_2
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:59
EnergyCorrelatorGeneralizedRatiosTool::moments_t::dec_N3
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_N3
Definition: EnergyCorrelatorGeneralizedRatiosTool.h:106