ATLAS Offline Software
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 
19 #ifndef jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
20 #define jetsubstructuremomenttools_energycorrelatorgeneralizedtool_header
21 
24 
28 
29  public:
30 
32  EnergyCorrelatorGeneralizedTool(const std::string& name);
33 
34  virtual StatusCode initialize() override;
35 
36  int modifyJet(xAOD::Jet &injet) const override;
37 
38  private:
39 
41  struct moments_t;
42 
44  float m_Beta;
45  bool m_doM3;
46  bool m_doN3;
48  std::vector<float> m_rawBetaVals;
50 
52  std::map< float, moments_t > m_moments;
53 
55  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_2_1_2;
56  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_3_1_1;
57  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_3_2_1;
58  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_3_2_2;
59  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_3_3_1;
60  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_4_2_2;
61  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_4_4_1;
62 
64  std::unique_ptr< SG::AuxElement::Decorator<float> > m_dec_ECFG_3_3_2;
65 
66  };
67 
77 
79  std::string prefix;
80 
82  std::string suffix;
83 
85  float beta;
86 
88  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_2_1;
89  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_1;
90  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_2;
91  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_4_1;
92  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_4_2;
93 
95  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_2_1_ungroomed;
96  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_1_ungroomed;
97  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECFG_3_2_ungroomed;
98 
99  moments_t (float Beta, const std::string& Prefix)
100  : prefix (Prefix),
102  beta (Beta),
103 
104  dec_ECFG_2_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_2_1"+suffix)),
105  dec_ECFG_3_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_1"+suffix)),
106  dec_ECFG_3_2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_2"+suffix)),
107  dec_ECFG_4_1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_4_1"+suffix)),
108  dec_ECFG_4_2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_4_2"+suffix)),
109 
110  dec_ECFG_2_1_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_2_1_ungroomed"+suffix)),
111  dec_ECFG_3_1_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_1_ungroomed"+suffix)),
112  dec_ECFG_3_2_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECFG_3_2_ungroomed"+suffix))
113  {
114  }
115 
116 };
117 
118 #endif
EnergyCorrelatorGeneralizedTool::m_doN3
bool m_doN3
Definition: EnergyCorrelatorGeneralizedTool.h:46
EnergyCorrelatorGeneralizedTool::m_doLSeries
bool m_doLSeries
Definition: EnergyCorrelatorGeneralizedTool.h:47
EnergyCorrelatorGeneralizedTool::moments_t
Definition: EnergyCorrelatorGeneralizedTool.h:76
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_3_1_1
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_3_1_1
Definition: EnergyCorrelatorGeneralizedTool.h:56
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
EnergyCorrelatorGeneralizedTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition: EnergyCorrelatorGeneralizedTool.h:49
EnergyCorrelatorGeneralizedTool::EnergyCorrelatorGeneralizedTool
EnergyCorrelatorGeneralizedTool(const std::string &name)
Constructor.
Definition: EnergyCorrelatorGeneralizedTool.cxx:10
EnergyCorrelatorGeneralizedTool::m_doM3
bool m_doM3
Definition: EnergyCorrelatorGeneralizedTool.h:45
EnergyCorrelatorGeneralizedTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition: EnergyCorrelatorGeneralizedTool.h:48
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_4_2_2
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_4_2_2
Definition: EnergyCorrelatorGeneralizedTool.h:60
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_3_2_2
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_3_2_2
Definition: EnergyCorrelatorGeneralizedTool.h:58
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_3_3_1
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_3_3_1
Definition: EnergyCorrelatorGeneralizedTool.h:59
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_3_2_1
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_3_2_1
Definition: EnergyCorrelatorGeneralizedTool.h:57
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase.h
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_2
Definition: EnergyCorrelatorGeneralizedTool.h:92
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_3_3_2
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_3_3_2
Added for MDT studies, might remove later.
Definition: EnergyCorrelatorGeneralizedTool.h:64
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2_ungroomed
Definition: EnergyCorrelatorGeneralizedTool.h:97
EnergyCorrelatorGeneralizedTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition: EnergyCorrelatorGeneralizedTool.h:99
EnergyCorrelatorGeneralizedTool::m_moments
std::map< float, moments_t > m_moments
Map of moment decorators using beta as the key.
Definition: EnergyCorrelatorGeneralizedTool.h:52
EnergyCorrelatorGeneralizedTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition: EnergyCorrelatorGeneralizedTool.h:79
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition: ECFHelper.cxx:10
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
EnergyCorrelatorGeneralizedTool::modifyJet
int modifyJet(xAOD::Jet &injet) const override
Modify a single jet. This is obsolete and set to be removed.
Definition: EnergyCorrelatorGeneralizedTool.cxx:79
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2
Definition: EnergyCorrelatorGeneralizedTool.h:90
EnergyCorrelatorGeneralizedTool::moments_t::beta
float beta
Beta value for calculations.
Definition: EnergyCorrelatorGeneralizedTool.h:85
TrigJetMonitorAlgorithm.Beta
Beta
Definition: TrigJetMonitorAlgorithm.py:1085
ECFHelper.h
EnergyCorrelatorGeneralizedTool
Definition: EnergyCorrelatorGeneralizedTool.h:26
EnergyCorrelatorGeneralizedTool::m_Beta
float m_Beta
Configurable as properties.
Definition: EnergyCorrelatorGeneralizedTool.h:41
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1_ungroomed
Definition: EnergyCorrelatorGeneralizedTool.h:96
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1
Definition: EnergyCorrelatorGeneralizedTool.h:89
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
EnergyCorrelatorGeneralizedTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: EnergyCorrelatorGeneralizedTool.cxx:21
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_2_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1
ECFG decorators.
Definition: EnergyCorrelatorGeneralizedTool.h:88
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_1
Definition: EnergyCorrelatorGeneralizedTool.h:91
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_2_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1_ungroomed
ECFG ungroomed decorators.
Definition: EnergyCorrelatorGeneralizedTool.h:95
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_2_1_2
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_2_1_2
Decorators for L-series ECFs.
Definition: EnergyCorrelatorGeneralizedTool.h:55
EnergyCorrelatorGeneralizedTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition: EnergyCorrelatorGeneralizedTool.h:82
EnergyCorrelatorGeneralizedTool::m_dec_ECFG_4_4_1
std::unique_ptr< SG::AuxElement::Decorator< float > > m_dec_ECFG_4_4_1
Definition: EnergyCorrelatorGeneralizedTool.h:61
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