ATLAS Offline Software
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 
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 
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),
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
EnergyCorrelatorRatiosTool::moments_t::acc_ECF3_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF3_ungroomed
Definition: EnergyCorrelatorRatiosTool.h:83
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
make_unique
std::unique_ptr< T > make_unique(Args &&... args)
Definition: SkimmingToolEXOT5.cxx:23
EnergyCorrelatorRatiosTool::moments_t::acc_ECF5
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF5
Definition: EnergyCorrelatorRatiosTool.h:78
EnergyCorrelatorRatiosTool::moments_t::dec_D2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_D2
Definition: EnergyCorrelatorRatiosTool.h:90
EnergyCorrelatorRatiosTool::moments_t::dec_D2_dichroic
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_D2_dichroic
Dichroic C and D series decorators.
Definition: EnergyCorrelatorRatiosTool.h:93
EnergyCorrelatorRatiosTool::moments_t::acc_ECF1
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF1
ECF accessors.
Definition: EnergyCorrelatorRatiosTool.h:74
EnergyCorrelatorRatiosTool::m_doDichroic
bool m_doDichroic
Vector of input values before cleaning.
Definition: EnergyCorrelatorRatiosTool.h:47
EnergyCorrelatorRatiosTool::moments_t::acc_ECF3
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF3
Definition: EnergyCorrelatorRatiosTool.h:76
EnergyCorrelatorRatiosTool::moments_t::dec_C4
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C4
Definition: EnergyCorrelatorRatiosTool.h:89
EnergyCorrelatorRatiosTool::EnergyCorrelatorRatiosTool
EnergyCorrelatorRatiosTool(const std::string &name)
Constructor.
Definition: EnergyCorrelatorRatiosTool.cxx:8
EnergyCorrelatorRatiosTool::moments_t::acc_ECF2
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF2
Definition: EnergyCorrelatorRatiosTool.h:75
EnergyCorrelatorRatiosTool::moments_t::dec_C1
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C1
C and D series decorators.
Definition: EnergyCorrelatorRatiosTool.h:86
EnergyCorrelatorRatiosTool::m_moments
std::map< float, moments_t > m_moments
Map of moment accessors and decorators using beta as the key.
Definition: EnergyCorrelatorRatiosTool.h:50
EnergyCorrelatorRatiosTool::modifyJet
int modifyJet(xAOD::Jet &jet) const override
Modify a single jet. This is obsolete and set to be removed.
Definition: EnergyCorrelatorRatiosTool.cxx:56
EnergyCorrelatorRatiosTool::m_rawBetaVals
std::vector< float > m_rawBetaVals
Definition: EnergyCorrelatorRatiosTool.h:46
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
EnergyCorrelatorRatiosTool::moments_t::acc_ECF4
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF4
Definition: EnergyCorrelatorRatiosTool.h:77
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
JetSubStructureMomentToolsBase.h
EnergyCorrelatorRatiosTool::moments_t::prefix
std::string prefix
Prefix for decorations.
Definition: EnergyCorrelatorRatiosTool.h:65
EnergyCorrelatorRatiosTool::moments_t::dec_C2
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C2
Definition: EnergyCorrelatorRatiosTool.h:87
EnergyCorrelatorRatiosTool::moments_t::acc_ECF1_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF1_ungroomed
ECF ungroomed accessors.
Definition: EnergyCorrelatorRatiosTool.h:81
GetBetaSuffix
std::string GetBetaSuffix(float beta)
Definition: ECFHelper.cxx:10
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
EnergyCorrelatorRatiosTool::initialize
virtual StatusCode initialize() override
Dummy implementation of the initialisation function.
Definition: EnergyCorrelatorRatiosTool.cxx:17
TrigJetMonitorAlgorithm.Beta
Beta
Definition: TrigJetMonitorAlgorithm.py:1085
ECFHelper.h
EnergyCorrelatorRatiosTool::moments_t::dec_C3
std::unique_ptr< SG::AuxElement::Decorator< float > > dec_C3
Definition: EnergyCorrelatorRatiosTool.h:88
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
EnergyCorrelatorRatiosTool::moments_t
Definition: EnergyCorrelatorRatiosTool.h:62
ASG_TOOL_CLASS
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
Definition: AsgToolMacros.h:68
EnergyCorrelatorRatiosTool::moments_t::moments_t
moments_t(float Beta, const std::string &Prefix)
Definition: EnergyCorrelatorRatiosTool.h:95
EnergyCorrelatorRatiosTool::m_doC4
bool m_doC4
Definition: EnergyCorrelatorRatiosTool.h:45
JetSubStructureMomentToolsBase
Definition: JetSubStructureMomentToolsBase.h:18
EnergyCorrelatorRatiosTool::m_doC3
bool m_doC3
Configurable as properties.
Definition: EnergyCorrelatorRatiosTool.h:41
EnergyCorrelatorRatiosTool
Definition: EnergyCorrelatorRatiosTool.h:26
EnergyCorrelatorRatiosTool::moments_t::suffix
std::string suffix
Suffix for decorations.
Definition: EnergyCorrelatorRatiosTool.h:68
readCCLHist.float
float
Definition: readCCLHist.py:83
EnergyCorrelatorRatiosTool::moments_t::acc_ECF2_ungroomed
std::unique_ptr< SG::AuxElement::ConstAccessor< float > > acc_ECF2_ungroomed
Definition: EnergyCorrelatorRatiosTool.h:82
IJetModifier
IJetModifier is a dual-use tool interface for a tool that modifies a jet collection.
Definition: IJetModifier.h:20
EnergyCorrelatorRatiosTool::moments_t::beta
float beta
Beta value for calculations.
Definition: EnergyCorrelatorRatiosTool.h:71