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
 
bool m_devMode {}
 
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 32 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 186 of file GlobalLargeRDNNCalibration.cxx.

187  : JetCalibrationStep::JetCalibrationStep("GlobalLargeRDNNCalibration/GlobalLargeRDNNCalibration"),
188  m_config(nullptr), m_calibArea("")
189 {
190 }

◆ 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 192 of file GlobalLargeRDNNCalibration.cxx.

194  m_config(nullptr), m_calibArea("")
195 {
196 }

◆ 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 198 of file GlobalLargeRDNNCalibration.cxx.

200  m_config(config), m_calibArea(calibArea), m_devMode(dev)
201 {
202 }

◆ ~GlobalLargeRDNNCalibration()

GlobalLargeRDNNCalibration::~GlobalLargeRDNNCalibration ( )
virtual

The destructor.

Destructor.

Definition at line 205 of file GlobalLargeRDNNCalibration.cxx.

205  {
206  for(VarRetriever* v: m_varretrievers) delete v;
207 }

Member Function Documentation

◆ calibrate()

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

Implements JetCalibrationStep.

Definition at line 322 of file GlobalLargeRDNNCalibration.cxx.

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

◆ 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 426 of file GlobalLargeRDNNCalibration.cxx.

426  {
427  // Init input tensor
428  std::vector<float> input_tensor_values(m_NNInputs.size());
429 
430  // Retrieve all input variables from the jet and/or jetEventInfo using our VarRetriever collection:
431  for(size_t i=0;i<input_tensor_values.size();i++){
432  float v = m_varretrievers[i]->value(jet_reco, jetEventInfo, m_eScales[i]);
433  // and perform normalisation :
434  input_tensor_values[i] = v*m_NormScales[i] + m_NormOffsets[i];
435  }
436 
437  return input_tensor_values;
438 }

◆ 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 210 of file GlobalLargeRDNNCalibration.cxx.

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

◆ 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 103 of file GlobalLargeRDNNCalibration.h.

◆ m_config

TEnv* GlobalLargeRDNNCalibration::m_config {}
private

Definition at line 102 of file GlobalLargeRDNNCalibration.h.

◆ m_devMode

bool GlobalLargeRDNNCalibration::m_devMode {}
private

Definition at line 104 of file GlobalLargeRDNNCalibration.h.

◆ m_eScales

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

Definition at line 89 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 97 of file GlobalLargeRDNNCalibration.h.

◆ m_input_node_names

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

Definition at line 98 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 92 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 88 of file GlobalLargeRDNNCalibration.h.

◆ m_NormOffsets

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

Definition at line 90 of file GlobalLargeRDNNCalibration.h.

◆ m_NormScales

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

Definition at line 91 of file GlobalLargeRDNNCalibration.h.

◆ m_output_node_dims

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

Definition at line 99 of file GlobalLargeRDNNCalibration.h.

◆ m_output_node_names

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

Definition at line 100 of file GlobalLargeRDNNCalibration.h.

◆ m_session

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

Definition at line 96 of file GlobalLargeRDNNCalibration.h.

◆ m_varretrievers

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

Definition at line 94 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:94
GlobalLargeRDNNCalibration::m_eScales
std::vector< double > m_eScales
Definition: GlobalLargeRDNNCalibration.h:89
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:426
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:99
Data
@ Data
Definition: BaseObject.h:11
GlobalLargeRDNNCalibration::m_NormScales
std::vector< double > m_NormScales
Definition: GlobalLargeRDNNCalibration.h:91
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:100
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:97
GlobalLargeRDNNCalibration::m_NormOffsets
std::vector< double > m_NormOffsets
Definition: GlobalLargeRDNNCalibration.h:90
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:102
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:85
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
hist_file_dump.f
f
Definition: hist_file_dump.py:135
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
GlobalLargeRDNNCalibration::m_NNInputs
std::vector< TString > m_NNInputs
Definition: GlobalLargeRDNNCalibration.h:88
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:228
PathResolverFindCalibFile
std::string PathResolverFindCalibFile(const std::string &logical_file_name)
Definition: PathResolver.cxx:431
python.PyAthena.v
v
Definition: PyAthena.py:154
GlobalLargeRDNNCalibration::m_calibArea
std::string m_calibArea
Definition: GlobalLargeRDNNCalibration.h:103
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:96
GlobalLargeRDNNCalibration::m_modelFileName
std::string m_modelFileName
Definition: GlobalLargeRDNNCalibration.h:92
GlobalLargeRDNNCalibration::m_devMode
bool m_devMode
Definition: GlobalLargeRDNNCalibration.h:104
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:98
python.AutoConfigFlags.msg
msg
Definition: AutoConfigFlags.py:7
JetCalibrationStep::m_GeV
double m_GeV
Definition: JetCalibrationStep.h:40