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 
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 
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),
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
SG::WriteDecorHandleKey< xAOD::JetContainer >
EnergyCorrelatorGeneralizedTool::m_doN3
bool m_doN3
Definition: EnergyCorrelatorGeneralizedTool.h:50
PropertyWrapper.h
EnergyCorrelatorGeneralizedTool::m_doLSeries
bool m_doLSeries
Definition: EnergyCorrelatorGeneralizedTool.h:51
EnergyCorrelatorGeneralizedTool::moments_t
Definition: EnergyCorrelatorGeneralizedTool.h:88
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
EnergyCorrelatorGeneralizedTool::m_jetContainerName
Gaudi::Property< std::string > m_jetContainerName
Definition: EnergyCorrelatorGeneralizedTool.h:42
EnergyCorrelatorGeneralizedTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition: EnergyCorrelatorGeneralizedTool.h:53
EnergyCorrelatorGeneralizedTool::EnergyCorrelatorGeneralizedTool
EnergyCorrelatorGeneralizedTool(const std::string &name)
Constructor.
Definition: EnergyCorrelatorGeneralizedTool.cxx:11
defineDB.jets
jets
Definition: JetTagCalibration/share/defineDB.py:24
EnergyCorrelatorGeneralizedTool::m_doM3
bool m_doM3
Definition: EnergyCorrelatorGeneralizedTool.h:49
EnergyCorrelatorGeneralizedTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition: EnergyCorrelatorGeneralizedTool.h:52
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase.h
EnergyCorrelatorGeneralizedTool::m_ECFG_3_2_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_2_Key
Definition: EnergyCorrelatorGeneralizedTool.h:65
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_2
Definition: EnergyCorrelatorGeneralizedTool.h:104
EnergyCorrelatorGeneralizedTool::m_ECFG_3_3_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_2_Key
Added for MDT studies, might remove later.
Definition: EnergyCorrelatorGeneralizedTool.h:75
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2_ungroomed
Definition: EnergyCorrelatorGeneralizedTool.h:109
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
EnergyCorrelatorGeneralizedTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition: EnergyCorrelatorGeneralizedTool.h:111
EnergyCorrelatorGeneralizedTool::m_moments
std::map< float, moments_t > m_moments
Map of moment decorators using beta as the key.
Definition: EnergyCorrelatorGeneralizedTool.h:56
EnergyCorrelatorGeneralizedTool::m_ECFG_3_2_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_2_1_Key
Definition: EnergyCorrelatorGeneralizedTool.h:63
EnergyCorrelatorGeneralizedTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition: EnergyCorrelatorGeneralizedTool.h:91
EnergyCorrelatorGeneralizedTool::m_ECFG_3_1_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_1_1_Key
Definition: EnergyCorrelatorGeneralizedTool.h:61
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition: ECFHelper.cxx:10
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_2
Definition: EnergyCorrelatorGeneralizedTool.h:102
EnergyCorrelatorGeneralizedTool::moments_t::beta
float beta
Beta value for calculations.
Definition: EnergyCorrelatorGeneralizedTool.h:97
TrigJetMonitorAlgorithm.Beta
Beta
Definition: TrigJetMonitorAlgorithm.py:1169
ECFHelper.h
EnergyCorrelatorGeneralizedTool
Definition: EnergyCorrelatorGeneralizedTool.h:29
EnergyCorrelatorGeneralizedTool::m_Beta
float m_Beta
Configurable as properties.
Definition: EnergyCorrelatorGeneralizedTool.h:45
EnergyCorrelatorGeneralizedTool::m_ECFG_3_3_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_3_3_1_Key
Definition: EnergyCorrelatorGeneralizedTool.h:67
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1_ungroomed
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1_ungroomed
Definition: EnergyCorrelatorGeneralizedTool.h:108
WriteDecorHandleKey.h
EnergyCorrelatorGeneralizedTool::m_ECFG_4_2_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_2_2_Key
Definition: EnergyCorrelatorGeneralizedTool.h:69
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_3_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_3_1
Definition: EnergyCorrelatorGeneralizedTool.h:101
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:22
EnergyCorrelatorGeneralizedTool::modify
StatusCode modify(xAOD::JetContainer &jets) const override
Loop over calls to modifyJet.
Definition: EnergyCorrelatorGeneralizedTool.cxx:93
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_2_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_2_1
ECFG decorators.
Definition: EnergyCorrelatorGeneralizedTool.h:100
EnergyCorrelatorGeneralizedTool::moments_t::dec_ECFG_4_1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_ECFG_4_1
Definition: EnergyCorrelatorGeneralizedTool.h:103
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:107
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
EnergyCorrelatorGeneralizedTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition: EnergyCorrelatorGeneralizedTool.h:94
EnergyCorrelatorGeneralizedTool::m_ECFG_2_1_2_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_2_1_2_Key
Decorators for L-series ECFs.
Definition: EnergyCorrelatorGeneralizedTool.h:59
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition: IJetModifier.h:20
EnergyCorrelatorGeneralizedTool::m_ECFG_4_4_1_Key
SG::WriteDecorHandleKey< xAOD::JetContainer > m_ECFG_4_4_1_Key
Definition: EnergyCorrelatorGeneralizedTool.h:71
python.LArMinBiasAlgConfig.float
float
Definition: LArMinBiasAlgConfig.py:65