ATLAS Offline Software
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
GlobalLargeRDNNCalibration Class Reference

#include <GlobalLargeRDNNCalibration.h>

Inheritance diagram for GlobalLargeRDNNCalibration:
Collaboration diagram for GlobalLargeRDNNCalibration:

Classes

struct  VarRetriever
 VarRetriever is a generic class to access Jet and/or JetEventInfo variables. More...
 

Public Member Functions

 GlobalLargeRDNNCalibration ()
 The constructor. More...
 
 GlobalLargeRDNNCalibration (const std::string &name)
 The constructor. More...
 
 GlobalLargeRDNNCalibration (const std::string &name, TEnv *config, const TString &calibArea, bool dev)
 The constructor, which is used by the JetCalibrationTool. More...
 
virtual ~GlobalLargeRDNNCalibration ()
 The destructor. More...
 
virtual StatusCode initialize () override
 Returns the charged fraction of a jet. More...
 
virtual void setUnitsGeV (bool useGeV)
 
virtual StatusCode getNominalResolutionData (const xAOD::Jet &, double &) const
 
virtual StatusCode getNominalResolutionMC (const xAOD::Jet &, double &) const
 
void setLevel (MSG::Level lvl)
 Change the current logging level. More...
 

Protected Member Functions

virtual StatusCode calibrate (xAOD::Jet &jet, JetEventInfo &) const override
 
virtual StatusCode setStartP4 (xAOD::Jet &jet) const
 

Protected Attributes

double m_GeV
 
std::string m_jetStartScale
 
std::string m_name
 

Private Member Functions

std::vector< float > getJetFeatures (xAOD::Jet &jet_reco, JetEventInfo &jetEventInfo) const
 Returns a vector of input features for the NN. More...
 
void initMessaging () const
 Initialize our message level and MessageSvc. More...
 

Private Attributes

std::vector< TString > m_NNInputs
 
std::vector< double > m_eScales
 
std::vector< double > m_NormOffsets
 
std::vector< double > m_NormScales
 
std::string m_modelFileName
 
std::vector< VarRetriever * > m_varretrievers
 
std::unique_ptr< Ort::Session > m_session
 
std::vector< int64_t > m_input_node_dims
 
std::vector< const char * > m_input_node_names
 
std::vector< int64_t > m_output_node_dims
 
std::vector< const char * > m_output_node_names
 
TEnv * m_config
 
std::string m_calibArea
 
std::string m_nm
 Message source name. More...
 
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels) More...
 
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer. More...
 
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level. More...
 
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging) More...
 

Detailed Description

Definition at line 34 of file GlobalLargeRDNNCalibration.h.

Constructor & Destructor Documentation

◆ GlobalLargeRDNNCalibration() [1/3]

GlobalLargeRDNNCalibration::GlobalLargeRDNNCalibration ( )

The constructor.

Constructors.

Note that this doesn't have all the necessary information, so it will not configure things correctly.

Definition at line 180 of file GlobalLargeRDNNCalibration.cxx.

181  : JetCalibrationStep::JetCalibrationStep("GlobalLargeRDNNCalibration/GlobalLargeRDNNCalibration"),
182  m_config(nullptr), m_calibArea("")
183 {
184 }

◆ GlobalLargeRDNNCalibration() [2/3]

GlobalLargeRDNNCalibration::GlobalLargeRDNNCalibration ( const std::string &  name)

The constructor.

Note that this doesn't have all the necessary information, so it will not configure things correctly.

Parameters
nameThe name of the tool being created

Definition at line 186 of file GlobalLargeRDNNCalibration.cxx.

188  m_config(nullptr), m_calibArea("")
189 {
190 }

◆ GlobalLargeRDNNCalibration() [3/3]

GlobalLargeRDNNCalibration::GlobalLargeRDNNCalibration ( const std::string &  name,
TEnv *  config,
const TString &  calibArea,
bool  dev 
)

The constructor, which is used by the JetCalibrationTool.

Parameters
nameThe name of the tool being created
configThe name of the config file for the calibration
jetAlgoThe name of the jet collection
calibAreaTagThe tag for this calibration
devA flag for if the calibration is run in development mode

Definition at line 192 of file GlobalLargeRDNNCalibration.cxx.

194  m_config(config), m_calibArea(calibArea)
195 {
196 }

◆ ~GlobalLargeRDNNCalibration()

GlobalLargeRDNNCalibration::~GlobalLargeRDNNCalibration ( )
virtual

The destructor.

Destructor.

Definition at line 199 of file GlobalLargeRDNNCalibration.cxx.

199  {
200  for(VarRetriever* v: m_varretrievers) delete v;
201 }

Member Function Documentation

◆ calibrate()

StatusCode GlobalLargeRDNNCalibration::calibrate ( xAOD::Jet jet,
JetEventInfo jetEventInfo 
) const
overrideprotectedvirtual

Implements JetCalibrationStep.

Definition at line 311 of file GlobalLargeRDNNCalibration.cxx.

311  {
312 
313  // Set jet initial scale
314  xAOD::JetFourMom_t jetStartP4;
316  jetStartP4 = jet.jetP4();
317 
318  // Don't apply calibration for jets with negative or null mass or for one constituent jets
319  if(jet.m()<=0 || jet.numConstituents()==1){
320  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
321  return StatusCode::SUCCESS;
322  }
323 
324  // Get input features normalized for jet
325  std::vector<float> input_tensor_values = getJetFeatures(jet, jetEventInfo);
326  if( msgLvl(MSG::DEBUG) ){
327  ATH_MSG_DEBUG("Input tensor values : ");
328  for (long unsigned int i=0;i<input_tensor_values.size();i++) ATH_MSG_DEBUG(" " << input_tensor_values[i]);
329  }
330 
331  // Check for nan or +/- inf values
332  int nNan = std::count_if(input_tensor_values.begin(), input_tensor_values.end(), [](float f){return std::isnan(f) || std::isinf(f);});
333  if (nNan>0) {
334  ATH_MSG_WARNING("Encountered Nan or inf value in input features, will not apply calibration");
335  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
336  return StatusCode::SUCCESS;
337  }
338 
339  // Convert input_tensor_values array to onnx-compatible tensor
340  Ort::MemoryInfo memory_info = Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeCPU);
341  Ort::Value input_tensor = Ort::Value::CreateTensor<float>( memory_info,
342  input_tensor_values.data(),
343  input_tensor_values.size(),
344  m_input_node_dims.data(),
345  m_input_node_dims.size());
346 
347  // Make sure we get the same input values in tensor
348  std::vector<float> vec(input_tensor.GetTensorMutableData<float>(), input_tensor.GetTensorMutableData<float>() + m_input_node_dims[1]);
349  if (vec!=input_tensor_values) {
350  ATH_MSG_WARNING("Input tensor after convertion to Ort tensor is not the same as the input vector, will not apply calibration");
351  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
352  return StatusCode::SUCCESS;
353  }
354 
355  // Run inference on input_tensor
357  auto output_tensor = session.Run( Ort::RunOptions{nullptr},
358  m_input_node_names.data(),
359  &input_tensor,
360  m_input_node_names.size(),
361  m_output_node_names.data(),
362  m_output_node_names.size());
363  if (!output_tensor.front().IsTensor() || output_tensor.size() != m_output_node_names.size() || output_tensor.front().GetTensorTypeAndShapeInfo().GetShape() != m_output_node_dims) {
364  ATH_MSG_WARNING("Output tensor does not have the same size as output layer, will not apply calibration");
365  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
366  return StatusCode::SUCCESS;
367  }
368 
369  // Get pointer to output tensor float values
370  float* outputE = output_tensor.at(0).GetTensorMutableData<float>();
371  float* outputM = output_tensor.at(1).GetTensorMutableData<float>();
372 
373  // Get predicted calibration factors
374  float predRespE = outputE[0]; // first element is predicted response
375  float predRespM = outputM[0];
376 
377  // Print the output predictions for E/M
378  ATH_MSG_DEBUG("Output E : " << predRespE);
379  ATH_MSG_DEBUG("Output M : " << predRespM);
380 
381  if (predRespE==0 || predRespM==0) {
382  ATH_MSG_WARNING("Predictions give 0 values, will not apply calibration");
383  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
384  return StatusCode::SUCCESS;
385  }
386 
387  // Apply calibration to jet p4
388  float calibE = jetStartP4.e() / predRespE;
389 
390  // For mass only apply calibration if m>40 GeV
391  float calibM = jetStartP4.mass();
392  if ( calibM > 40000 ) {
393  calibM /= predRespM;
394  }
395 
396  // Propagate energy and mass calibration to jet pT
397  float calibpT = std::sqrt( calibE*calibE - calibM*calibM )/std::cosh( jetStartP4.eta() );
398 
399  // Build calibrated jet p4
400  TLorentzVector TLVjet;
401  TLVjet.SetPtEtaPhiM( calibpT, jetStartP4.eta(), jetStartP4.phi(), calibM );
402  xAOD::JetFourMom_t calibP4;
403  calibP4.SetPxPyPzE( TLVjet.Px(), TLVjet.Py(), TLVjet.Pz(), TLVjet.E() );
404 
405  // Transfer calibrated jet properties to the Jet object
406  jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",calibP4);
407  jet.setJetP4( calibP4 );
408 
409  return StatusCode::SUCCESS;
410 
411 }

◆ getJetFeatures()

std::vector< float > GlobalLargeRDNNCalibration::getJetFeatures ( xAOD::Jet jet_reco,
JetEventInfo jetEventInfo 
) const
private

Returns a vector of input features for the NN.

Parameters
jet_recoThe jet
jetEventInfoA set of information about the event and jet

Definition at line 415 of file GlobalLargeRDNNCalibration.cxx.

415  {
416  // Init input tensor
417  std::vector<float> input_tensor_values(m_NNInputs.size());
418 
419  // Retrieve all input variables from the jet and/or jetEventInfo using our VarRetriever collection:
420  for(size_t i=0;i<input_tensor_values.size();i++){
421  float v = m_varretrievers[i]->value(jet_reco, jetEventInfo, m_eScales[i]);
422  // and perform normalisation :
423  input_tensor_values[i] = v*m_NormScales[i] + m_NormOffsets[i];
424  }
425 
426  return input_tensor_values;
427 }

◆ getNominalResolutionData()

StatusCode JetCalibrationStep::getNominalResolutionData ( const xAOD::Jet ,
double &   
) const
virtualinherited

Reimplemented in JetSmearingCorrection.

Definition at line 33 of file JetCalibrationStep.cxx.

33  {
34  ATH_MSG_ERROR("Nominal data resolution requested from a jet calibration step that doesn't define it.");
35  return StatusCode::FAILURE;
36 }

◆ getNominalResolutionMC()

StatusCode JetCalibrationStep::getNominalResolutionMC ( const xAOD::Jet ,
double &   
) const
virtualinherited

Reimplemented in JetSmearingCorrection.

Definition at line 38 of file JetCalibrationStep.cxx.

38  {
39  ATH_MSG_ERROR("Nominal MC resolution requested from a jet calibration step that doesn't define it.");
40  return StatusCode::FAILURE;
41 }

◆ initialize()

StatusCode GlobalLargeRDNNCalibration::initialize ( )
overridevirtual

Returns the charged fraction of a jet.

Parameters
nameThe name of the tool being created

Implements JetCalibrationStep.

Definition at line 204 of file GlobalLargeRDNNCalibration.cxx.

204  {
205  ATH_MSG_DEBUG("Initializing tool");
206  if ( !m_config ) { ATH_MSG_FATAL("Config file not specified. Aborting."); return StatusCode::FAILURE; }
207 
208  // Get list of input features
209  m_NNInputs = JetCalibUtils::Vectorize( m_config->GetValue("DNNC.Inputs","") );
210  // Now build a VarRetriever for each of the input features
211  m_varretrievers.resize(m_NNInputs.size());
212  ATH_MSG_DEBUG("DNN inputs");
213  for (long unsigned int i=0;i<m_NNInputs.size();i++) {
214  m_varretrievers[i] = buildVarRetriever( m_NNInputs[i].Data() );
215  ATH_MSG_DEBUG(" " << m_NNInputs[i]);
216  }
217 
218  // Get normalization constants for input features
219  m_eScales = JetCalibUtils::VectorizeD( m_config->GetValue("DNNC.EScales","") );
220  m_NormOffsets = JetCalibUtils::VectorizeD( m_config->GetValue("DNNC.NormOffsets","") );
221  m_NormScales = JetCalibUtils::VectorizeD( m_config->GetValue("DNNC.NormScales","") );
222 
223  if (m_eScales.size()!=m_NNInputs.size() || m_NormOffsets.size()!=m_NNInputs.size() || m_NormScales.size()!=m_NNInputs.size()) {
224  ATH_MSG_FATAL("Misconfiguration of config file : not same number of offset/scale parameters and number of features. Will exit");
225  return StatusCode::FAILURE;
226  }
227 
228  if( msgLvl(MSG::DEBUG) ){
229  ATH_MSG_DEBUG("m_NormOffsets size : " << m_NormOffsets.size());
230  ATH_MSG_DEBUG("m_NormOffsets");
231  for (long unsigned int i=0;i<m_NormOffsets.size();i++) {
232  ATH_MSG_DEBUG(" " << m_NormOffsets[i]);
233  }
234  ATH_MSG_DEBUG("m_NormScales size : " << m_NormScales.size());
235  ATH_MSG_DEBUG("m_NormScales");
236  for (long unsigned int i=0;i<m_NormScales.size();i++) {
237  ATH_MSG_DEBUG(" " << m_NormScales[i]);
238  }
239  }
240 
241  // Get DNN config file
242  m_modelFileName = m_config->GetValue("DNNC.ONNXInput","");
243  std::string modelPath="JetCalibTools/"+m_calibArea+"CalibrationConfigs/"+m_modelFileName;
244  const std::string fullModelPath = PathResolverFindCalibFile( modelPath ); // Full path
245  ATH_MSG_INFO("Using ONNX model : " << m_modelFileName);
246  ATH_MSG_INFO("resolved in: " << fullModelPath);
247 
248  // Set up the ONNX Runtime session.
249  m_session = CreateORTSession(fullModelPath);
250  ATH_MSG_DEBUG( "ONNX Runtime session succesfully created" );
251 
252 
253  /************************** Input Nodes *****************************/
254  /*********************************************************************/
255  std::tuple<std::vector<int64_t>, std::vector<const char*> > inputInfo = GetInputNodeInfo(m_session);
256  m_input_node_dims = std::get<0>(inputInfo);
257  m_input_node_names = std::get<1>(inputInfo);
258 
259  if( msgLvl(MSG::DEBUG) ){
260  for( std::size_t i = 0; i < m_input_node_names.size(); i++ ) {
261  // print input node names
262  ATH_MSG_DEBUG("Input "<<i<<" : "<<" name= "<<m_input_node_names[i]);
263 
264  // print input shapes/dims
265  ATH_MSG_DEBUG("Input "<<i<<" : num_dims= "<<m_input_node_dims.size());
266  for (std::size_t j = 0; j < m_input_node_dims.size(); j++){
267  ATH_MSG_DEBUG("Input "<<i<<" : dim "<<j<<"= "<<m_input_node_dims[j]);
268  }
269  }
270  }
271 
272  /************************** Output Nodes *****************************/
273  /*********************************************************************/
274  std::tuple<std::vector<int64_t>, std::vector<const char*> > outputInfo = GetOutputNodeInfo(m_session);
275  m_output_node_dims = std::get<0>(outputInfo);
276  m_output_node_names = std::get<1>(outputInfo);
277 
278  if( msgLvl(MSG::DEBUG) ){
279  for( std::size_t i = 0; i < m_output_node_names.size(); i++ ) {
280  // print input node names
281  ATH_MSG_DEBUG("Output "<<i<<" : "<<" name= "<<m_output_node_names[i]);
282 
283  // print input shapes/dims
284  ATH_MSG_DEBUG("Output "<<i<<" : num_dims= "<<m_output_node_dims.size());
285  for (std::size_t j = 0; j < m_output_node_dims.size(); j++){
286  ATH_MSG_DEBUG("Output "<<i<<" : dim "<<j<<"= "<<m_output_node_dims[j]);
287  }
288  }
289  }
290 
291  /**************************************************************************************
292  * m_input_node_dims[0] = -1; -1 needs to be replaced by the batch size; for no batch --> 1
293  * m_input_node_dims[1] should be equal to m_NNInputs.size()
294  ****************************************************************************************/
295  m_input_node_dims[0] = 1;
296  m_output_node_dims[0] = 1;
297 
298  if (m_NNInputs.size()!=(long unsigned int)m_input_node_dims[1]) {
299  ATH_MSG_FATAL("DNN input features not the same size as in config, will exit");
300  return StatusCode::FAILURE;
301  }
302 
303  // Set jet starting scale
304  m_jetStartScale = "JetConstitScaleMomentum";
305 
306  return StatusCode::SUCCESS;
307 }

◆ initMessaging()

void AthMessaging::initMessaging ( ) const
privateinherited

Initialize our message level and MessageSvc.

This method should only be called once.

Definition at line 39 of file AthMessaging.cxx.

40 {
42  m_lvl = m_imsg ?
43  static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
44  MSG::INFO;
45 }

◆ msg() [1/2]

MsgStream & asg::AsgMessaging::msg ( ) const
inherited

The standard message stream.

Returns
A reference to the default message stream of this object.

Definition at line 49 of file AsgMessaging.cxx.

49  {
50 #ifndef XAOD_STANDALONE
52 #else // not XAOD_STANDALONE
53  return m_msg;
54 #endif // not XAOD_STANDALONE
55  }

◆ msg() [2/2]

MsgStream & asg::AsgMessaging::msg ( const MSG::Level  lvl) const
inherited

The standard message stream.

Parameters
lvlThe message level to set the stream to
Returns
A reference to the default message stream, set to level "lvl"

Definition at line 57 of file AsgMessaging.cxx.

57  {
58 #ifndef XAOD_STANDALONE
60 #else // not XAOD_STANDALONE
61  m_msg << lvl;
62  return m_msg;
63 #endif // not XAOD_STANDALONE
64  }

◆ msgLvl()

bool asg::AsgMessaging::msgLvl ( const MSG::Level  lvl) const
inherited

Test the output level of the object.

Parameters
lvlThe message level to test against
Returns
boolean Indicting if messages at given level will be printed
true If messages at level "lvl" will be printed

Definition at line 41 of file AsgMessaging.cxx.

41  {
42 #ifndef XAOD_STANDALONE
43  return ::AthMessaging::msgLvl( lvl );
44 #else // not XAOD_STANDALONE
45  return m_msg.msgLevel( lvl );
46 #endif // not XAOD_STANDALONE
47  }

◆ setLevel()

void AthMessaging::setLevel ( MSG::Level  lvl)
inherited

Change the current logging level.

Use this rather than msg().setLevel() for proper operation with MT.

Definition at line 28 of file AthMessaging.cxx.

29 {
30  m_lvl = lvl;
31 }

◆ setStartP4()

StatusCode JetCalibrationStep::setStartP4 ( xAOD::Jet jet) const
protectedvirtualinherited

Definition at line 21 of file JetCalibrationStep.cxx.

21  {
23  if ( m_jetStartScale.compare("Default") == 0 ) {
24  return StatusCode::SUCCESS;
25  } else if ( jet.getAttribute<xAOD::JetFourMom_t>(m_jetStartScale.c_str(),tmp) ) {
26  jet.setJetP4(tmp);
27  return StatusCode::SUCCESS;
28  }
29  ATH_MSG_WARNING("Jet does not have the requested momentum state: " << m_jetStartScale);
30  return StatusCode::FAILURE;
31 }

◆ setUnitsGeV()

virtual void JetCalibrationStep::setUnitsGeV ( bool  useGeV)
inlinevirtualinherited

Definition at line 30 of file JetCalibrationStep.h.

30 { if (useGeV) m_GeV=1; else m_GeV=1000; }

Member Data Documentation

◆ ATLAS_THREAD_SAFE

std::atomic_flag m_initialized AthMessaging::ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
mutableprivateinherited

Messaging initialized (initMessaging)

Definition at line 141 of file AthMessaging.h.

◆ m_calibArea

std::string GlobalLargeRDNNCalibration::m_calibArea
private

Definition at line 105 of file GlobalLargeRDNNCalibration.h.

◆ m_config

TEnv* GlobalLargeRDNNCalibration::m_config
private

Definition at line 104 of file GlobalLargeRDNNCalibration.h.

◆ m_eScales

std::vector<double> GlobalLargeRDNNCalibration::m_eScales
private

Definition at line 91 of file GlobalLargeRDNNCalibration.h.

◆ m_GeV

double JetCalibrationStep::m_GeV
protectedinherited

Definition at line 40 of file JetCalibrationStep.h.

◆ m_imsg

std::atomic<IMessageSvc*> AthMessaging::m_imsg { nullptr }
mutableprivateinherited

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

◆ m_input_node_dims

std::vector<int64_t> GlobalLargeRDNNCalibration::m_input_node_dims
private

Definition at line 99 of file GlobalLargeRDNNCalibration.h.

◆ m_input_node_names

std::vector<const char*> GlobalLargeRDNNCalibration::m_input_node_names
private

Definition at line 100 of file GlobalLargeRDNNCalibration.h.

◆ m_jetStartScale

std::string JetCalibrationStep::m_jetStartScale
protectedinherited

Definition at line 41 of file JetCalibrationStep.h.

◆ m_lvl

std::atomic<MSG::Level> AthMessaging::m_lvl { MSG::NIL }
mutableprivateinherited

Current logging level.

Definition at line 138 of file AthMessaging.h.

◆ m_modelFileName

std::string GlobalLargeRDNNCalibration::m_modelFileName
private

Definition at line 94 of file GlobalLargeRDNNCalibration.h.

◆ m_msg_tls

boost::thread_specific_ptr<MsgStream> AthMessaging::m_msg_tls
mutableprivateinherited

MsgStream instance (a std::cout like with print-out levels)

Definition at line 132 of file AthMessaging.h.

◆ m_name

std::string JetCalibrationStep::m_name
protectedinherited

Definition at line 42 of file JetCalibrationStep.h.

◆ m_nm

std::string AthMessaging::m_nm
privateinherited

Message source name.

Definition at line 129 of file AthMessaging.h.

◆ m_NNInputs

std::vector<TString> GlobalLargeRDNNCalibration::m_NNInputs
private

Definition at line 90 of file GlobalLargeRDNNCalibration.h.

◆ m_NormOffsets

std::vector<double> GlobalLargeRDNNCalibration::m_NormOffsets
private

Definition at line 92 of file GlobalLargeRDNNCalibration.h.

◆ m_NormScales

std::vector<double> GlobalLargeRDNNCalibration::m_NormScales
private

Definition at line 93 of file GlobalLargeRDNNCalibration.h.

◆ m_output_node_dims

std::vector<int64_t> GlobalLargeRDNNCalibration::m_output_node_dims
private

Definition at line 101 of file GlobalLargeRDNNCalibration.h.

◆ m_output_node_names

std::vector<const char*> GlobalLargeRDNNCalibration::m_output_node_names
private

Definition at line 102 of file GlobalLargeRDNNCalibration.h.

◆ m_session

std::unique_ptr< Ort::Session > GlobalLargeRDNNCalibration::m_session
private

Definition at line 98 of file GlobalLargeRDNNCalibration.h.

◆ m_varretrievers

std::vector<VarRetriever*> GlobalLargeRDNNCalibration::m_varretrievers
private

Definition at line 96 of file GlobalLargeRDNNCalibration.h.


The documentation for this class was generated from the following files:
AthMessaging::m_lvl
std::atomic< MSG::Level > m_lvl
Current logging level.
Definition: AthMessaging.h:138
GlobalLargeRDNNCalibration::m_varretrievers
std::vector< VarRetriever * > m_varretrievers
Definition: GlobalLargeRDNNCalibration.h:96
GlobalLargeRDNNCalibration::m_eScales
std::vector< double > m_eScales
Definition: GlobalLargeRDNNCalibration.h:91
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
asg::AsgMessaging::msgLvl
bool msgLvl(const MSG::Level lvl) const
Test the output level of the object.
Definition: AsgMessaging.cxx:41
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
GlobalLargeRDNNCalibration::getJetFeatures
std::vector< float > getJetFeatures(xAOD::Jet &jet_reco, JetEventInfo &jetEventInfo) const
Returns a vector of input features for the NN.
Definition: GlobalLargeRDNNCalibration.cxx:415
JetCalibrationStep::setStartP4
virtual StatusCode setStartP4(xAOD::Jet &jet) const
Definition: JetCalibrationStep.cxx:21
GlobalLargeRDNNCalibration::m_output_node_dims
std::vector< int64_t > m_output_node_dims
Definition: GlobalLargeRDNNCalibration.h:101
Data
@ Data
Definition: BaseObject.h:11
GlobalLargeRDNNCalibration::m_NormScales
std::vector< double > m_NormScales
Definition: GlobalLargeRDNNCalibration.h:93
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
python.oracle.Session
Session
Definition: oracle.py:78
GlobalLargeRDNNCalibration::m_output_node_names
std::vector< const char * > m_output_node_names
Definition: GlobalLargeRDNNCalibration.h:102
AthMessaging::m_imsg
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
Definition: AthMessaging.h:135
JetCalibUtils::Vectorize
StrV Vectorize(const TString &str, const TString &sep=" ")
Definition: JetCalibUtils.cxx:14
Athena::getMessageSvc
IMessageSvc * getMessageSvc(bool quiet=false)
Definition: getMessageSvc.cxx:20
config
Definition: PhysicsAnalysis/AnalysisCommon/AssociationUtils/python/config.py:1
AthMessaging::ATLAS_THREAD_SAFE
std::atomic_flag m_initialized ATLAS_THREAD_SAFE
Messaging initialized (initMessaging)
Definition: AthMessaging.h:141
GlobalLargeRDNNCalibration::m_input_node_dims
std::vector< int64_t > m_input_node_dims
Definition: GlobalLargeRDNNCalibration.h:99
GlobalLargeRDNNCalibration::m_NormOffsets
std::vector< double > m_NormOffsets
Definition: GlobalLargeRDNNCalibration.h:92
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
JetCalibrationStep::JetCalibrationStep
JetCalibrationStep(const char *name="JetCalibrationStep")
Definition: JetCalibrationStep.cxx:12
GlobalLargeRDNNCalibration::m_config
TEnv * m_config
Definition: GlobalLargeRDNNCalibration.h:104
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
GlobalLargeRDNNCalibration::m_NNInputs
std::vector< TString > m_NNInputs
Definition: GlobalLargeRDNNCalibration.h:90
xAOD::JetFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition: JetTypes.h:17
JetCalibrationStep::m_jetStartScale
std::string m_jetStartScale
Definition: JetCalibrationStep.h:41
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
python.PyAthena.v
v
Definition: PyAthena.py:157
GlobalLargeRDNNCalibration::m_calibArea
std::string m_calibArea
Definition: GlobalLargeRDNNCalibration.h:105
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
AthMessaging::m_nm
std::string m_nm
Message source name.
Definition: AthMessaging.h:129
DEBUG
#define DEBUG
Definition: page_access.h:11
GlobalLargeRDNNCalibration::m_session
std::unique_ptr< Ort::Session > m_session
Definition: GlobalLargeRDNNCalibration.h:98
GlobalLargeRDNNCalibration::m_modelFileName
std::string m_modelFileName
Definition: GlobalLargeRDNNCalibration.h:94
JetCalibUtils::VectorizeD
VecD VectorizeD(const TString &str, const TString &sep=" ")
Definition: JetCalibUtils.cxx:25
GlobalLargeRDNNCalibration::m_input_node_names
std::vector< const char * > m_input_node_names
Definition: GlobalLargeRDNNCalibration.h:100
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
JetCalibrationStep::m_GeV
double m_GeV
Definition: JetCalibrationStep.h:40