ATLAS Offline Software
EnergyCorrelatorTool.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_energycorrelatortool_header
20 #define jetsubstructuremomenttools_energycorrelatortool_header
21 
24 
28 
29  public:
30 
32  EnergyCorrelatorTool(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_doC3;
46  bool m_doC4;
47  std::vector<float> m_rawBetaVals;
49 
51  std::map< float, moments_t > m_moments;
52 
53  };
54 
64 
66  std::string prefix;
67 
69  std::string suffix;
70 
72  float beta;
73 
75  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF1;
76  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF2;
77  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF3;
78  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF4;
79  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF5;
80 
82  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF1_ungroomed;
83  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF2_ungroomed;
84  std::unique_ptr< SG::AuxElement::Decorator<float> > dec_ECF3_ungroomed;
85 
86  moments_t (float Beta, const std::string& Prefix)
87  : prefix (Prefix),
89  beta (Beta),
90 
91  dec_ECF1 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF1"+suffix)),
92  dec_ECF2 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF2"+suffix)),
93  dec_ECF3 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF3"+suffix)),
94  dec_ECF4 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF4"+suffix)),
95  dec_ECF5 (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF5"+suffix)),
96 
97  dec_ECF1_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF1_ungroomed"+suffix)),
98  dec_ECF2_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF2_ungroomed"+suffix)),
99  dec_ECF3_ungroomed (std::make_unique< SG::AuxElement::Decorator<float> >(prefix+"ECF3_ungroomed"+suffix))
100  {
101  }
102 
103 };
104 
105 #endif
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
EnergyCorrelatorTool::moments_t::dec_ECF4
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF4
Definition: EnergyCorrelatorTool.h:78
EnergyCorrelatorTool::moments_t::dec_ECF2_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF2_ungroomed
Definition: EnergyCorrelatorTool.h:83
EnergyCorrelatorTool::moments_t::dec_ECF1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF1
ECF decorators.
Definition: EnergyCorrelatorTool.h:75
EnergyCorrelatorTool::moments_t::dec_ECF2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF2
Definition: EnergyCorrelatorTool.h:76
EnergyCorrelatorTool::moments_t::dec_ECF1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF1_ungroomed
ECF ungroomed decorators.
Definition: EnergyCorrelatorTool.h:82
EnergyCorrelatorTool::m_doC4
bool m_doC4
Definition: EnergyCorrelatorTool.h:46
EnergyCorrelatorTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: EnergyCorrelatorTool.cxx:19
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase.h
EnergyCorrelatorTool::moments_t::dec_ECF5
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF5
Definition: EnergyCorrelatorTool.h:79
EnergyCorrelatorTool::moments_t::dec_ECF3
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF3
Definition: EnergyCorrelatorTool.h:77
EnergyCorrelatorTool::moments_t
Definition: EnergyCorrelatorTool.h:63
EnergyCorrelatorTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition: EnergyCorrelatorTool.h:47
EnergyCorrelatorTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition: EnergyCorrelatorTool.h:69
EnergyCorrelatorTool::m_moments
std::map< float, moments_t > m_moments
Map of moment calculators and decorators using beta as the key.
Definition: EnergyCorrelatorTool.h:51
EnergyCorrelatorTool::EnergyCorrelatorTool
EnergyCorrelatorTool(const std::string &name)
Constructor.
Definition: EnergyCorrelatorTool.cxx:9
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition: ECFHelper.cxx:10
EnergyCorrelatorTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition: EnergyCorrelatorTool.h:86
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
TrigJetMonitorAlgorithm.Beta
Beta
Definition: TrigJetMonitorAlgorithm.py:1085
ECFHelper.h
EnergyCorrelatorTool::m_doC3
bool m_doC3
Definition: EnergyCorrelatorTool.h:45
EnergyCorrelatorTool::modifyJet
int modifyJet(xAOD::Jet &injet) const override
Modify a single jet. This is obsolete and set to be removed.
Definition: EnergyCorrelatorTool.cxx:69
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
EnergyCorrelatorTool::moments_t::dec_ECF3_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECF3_ungroomed
Definition: EnergyCorrelatorTool.h:84
EnergyCorrelatorTool::moments_t::beta
float beta
Beta value for calculations.
Definition: EnergyCorrelatorTool.h:72
EnergyCorrelatorTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition: EnergyCorrelatorTool.h:66
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
EnergyCorrelatorTool::m_Beta
float m_Beta
Configurable as properties.
Definition: EnergyCorrelatorTool.h:41
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
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
EnergyCorrelatorTool
Definition: EnergyCorrelatorTool.h:26
EnergyCorrelatorTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition: EnergyCorrelatorTool.h:48