ATLAS Offline Software
Loading...
Searching...
No Matches
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.
 GlobalLargeRDNNCalibration (const std::string &name)
 The constructor.
 GlobalLargeRDNNCalibration (const std::string &name, TEnv *config, const TString &calibArea, bool dev)
 The constructor, which is used by the JetCalibrationTool.
virtual ~GlobalLargeRDNNCalibration ()
 The destructor.
virtual StatusCode initialize () override
 Returns the charged fraction of a jet.
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.
Functions providing the same interface as AthMessaging
bool msgLvl (const MSG::Level lvl) const
 Test the output level of the object.
MsgStream & msg () const
 The standard message stream.
MsgStream & msg (const MSG::Level lvl) const
 The standard message stream.

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.
void initMessaging () const
 Initialize our message level and MessageSvc.

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 {}
bool m_noMassCalibBelow40 =false
std::string m_nm
 Message source name.
boost::thread_specific_ptr< MsgStream > m_msg_tls
 MsgStream instance (a std::cout like with print-out levels).
std::atomic< IMessageSvc * > m_imsg { nullptr }
 MessageSvc pointer.
std::atomic< MSG::Level > m_lvl { MSG::NIL }
 Current logging level.
std::atomic_flag m_initialized ATLAS_THREAD_SAFE = ATOMIC_FLAG_INIT
 Messaging initialized (initMessaging).

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

189 : JetCalibrationStep::JetCalibrationStep("GlobalLargeRDNNCalibration/GlobalLargeRDNNCalibration"),
190 m_config(nullptr), m_calibArea("")
191{
192}
JetCalibrationStep(const char *name="JetCalibrationStep")

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

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

◆ ~GlobalLargeRDNNCalibration()

GlobalLargeRDNNCalibration::~GlobalLargeRDNNCalibration ( )
virtual

The destructor.

Destructor.

Definition at line 207 of file GlobalLargeRDNNCalibration.cxx.

207 {
208 for(VarRetriever* v: m_varretrievers) delete v;
209}
std::vector< VarRetriever * > m_varretrievers
VarRetriever is a generic class to access Jet and/or JetEventInfo variables.

Member Function Documentation

◆ calibrate()

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

Implements JetCalibrationStep.

Definition at line 325 of file GlobalLargeRDNNCalibration.cxx.

325 {
326
327 // Set jet initial scale
328 xAOD::JetFourMom_t jetStartP4;
329 ATH_CHECK( setStartP4(jet) );
330 jetStartP4 = jet.jetP4();
331
332 // Don't apply calibration for jets with negative or null mass or for one constituent jets
333 if(jet.m()<=0 || jet.numConstituents()==1){
334 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
335 return StatusCode::SUCCESS;
336 }
337
338 // Get input features normalized for jet
339 std::vector<float> input_tensor_values = getJetFeatures(jet, jetEventInfo);
340 if( msgLvl(MSG::DEBUG) ){
341 ATH_MSG_DEBUG("Input tensor values : ");
342 for (long unsigned int i=0;i<input_tensor_values.size();i++) ATH_MSG_DEBUG(" " << input_tensor_values[i]);
343 }
344 ATH_MSG_DEBUG(" start M : " << jetStartP4.M());
345
346 // Check for nan or +/- inf values
347 int nNan = std::count_if(input_tensor_values.begin(), input_tensor_values.end(), [](float f){return std::isnan(f) || std::isinf(f);});
348 if (nNan>0) {
349 ATH_MSG_WARNING("Encountered Nan or inf value in input features, will not apply calibration");
350 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
351 return StatusCode::SUCCESS;
352 }
353
354 // Convert input_tensor_values array to onnx-compatible tensor
355 Ort::MemoryInfo memory_info = Ort::MemoryInfo::CreateCpu(OrtArenaAllocator, OrtMemTypeCPU);
356 Ort::Value input_tensor = Ort::Value::CreateTensor<float>( memory_info,
357 input_tensor_values.data(),
358 input_tensor_values.size(),
359 m_input_node_dims.data(),
360 m_input_node_dims.size());
361
362 // Make sure we get the same input values in tensor
363 std::vector<float> vec(input_tensor.GetTensorMutableData<float>(), input_tensor.GetTensorMutableData<float>() + m_input_node_dims[1]);
364 if (vec!=input_tensor_values) {
365 ATH_MSG_WARNING("Input tensor after convertion to Ort tensor is not the same as the input vector, will not apply calibration");
366 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
367 return StatusCode::SUCCESS;
368 }
369
370 // Run inference on input_tensor
371 Ort::Session& session ATLAS_THREAD_SAFE = *m_session;
372 auto output_tensor = session.Run( Ort::RunOptions{nullptr},
373 m_input_node_names.data(),
374 &input_tensor,
375 m_input_node_names.size(),
376 m_output_node_names.data(),
377 m_output_node_names.size());
378 if (!output_tensor.front().IsTensor() || output_tensor.size() != m_output_node_names.size() || output_tensor.front().GetTensorTypeAndShapeInfo().GetShape() != m_output_node_dims) {
379 ATH_MSG_WARNING("Output tensor does not have the same size as output layer, will not apply calibration");
380 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
381 return StatusCode::SUCCESS;
382 }
383
384 // Get pointer to output tensor float values
385 float* outputE = output_tensor.at(0).GetTensorMutableData<float>();
386 // Models with a single output node (e.g. small-R JES-only DNNs) only predict the
387 // energy response: there is no mass response to read
388 const bool energyOnly = (output_tensor.size() == 1);
389 float* outputM = energyOnly ? outputE : output_tensor.at(1).GetTensorMutableData<float>();
390
391 // Get predicted calibration factors
392 float predRespE = outputE[0]; // first element is predicted response
393 float predRespM = outputM[0];
394
395 // Print the output predictions for E/M
396 ATH_MSG_DEBUG("Output E : " << predRespE);
397 ATH_MSG_DEBUG("Output M : " << predRespM);
398
399 if (predRespE==0 || predRespM==0) {
400 ATH_MSG_WARNING("Predictions give 0 values, will not apply calibration");
401 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",jetStartP4);
402 return StatusCode::SUCCESS;
403 }
404
405 // Energy-only models: scale the whole 4-vector by the energy response (so the mass
406 // scales with it, without the m > 40 GeV requirement applied to large-R jets below)
407 if (energyOnly) {
408 const xAOD::JetFourMom_t calibP4 = jetStartP4 * (1. / predRespE);
409 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",calibP4);
410 jet.setJetP4( calibP4 );
411 return StatusCode::SUCCESS;
412 }
413
414 // Apply calibration to jet p4
415 float calibE = jetStartP4.e() / predRespE;
416
417 // For mass, only apply calibration if m>40 GeV (if m_noMassCalibBelow40)
418 float calibM = jetStartP4.mass();
419 if( ! m_noMassCalibBelow40 || (calibM>40000) ){
420 calibM /= predRespM;
421 }
422
423 // Propagate energy and mass calibration to jet pT
424 float calibpT = std::sqrt( calibE*calibE - calibM*calibM )/std::cosh( jetStartP4.eta() );
425
426 // Build calibrated jet p4
427 TLorentzVector TLVjet;
428 TLVjet.SetPtEtaPhiM( calibpT, jetStartP4.eta(), jetStartP4.phi(), calibM );
429 xAOD::JetFourMom_t calibP4;
430 calibP4.SetPxPyPzE( TLVjet.Px(), TLVjet.Py(), TLVjet.Pz(), TLVjet.E() );
431
432 // Transfer calibrated jet properties to the Jet object
433 jet.setAttribute<xAOD::JetFourMom_t>("JetDNNCScaleMomentum",calibP4);
434 jet.setJetP4( calibP4 );
435
436 return StatusCode::SUCCESS;
437
438}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x,...)
#define ATH_MSG_WARNING(x,...)
std::vector< size_t > vec
std::atomic_flag m_initialized ATLAS_THREAD_SAFE
Messaging initialized (initMessaging).
std::vector< float > getJetFeatures(xAOD::Jet &jet_reco, JetEventInfo &jetEventInfo) const
Returns a vector of input features for the NN.
std::vector< const char * > m_output_node_names
std::vector< int64_t > m_output_node_dims
std::unique_ptr< Ort::Session > m_session
std::vector< int64_t > m_input_node_dims
std::vector< const char * > m_input_node_names
virtual StatusCode setStartP4(xAOD::Jet &jet) const
bool msgLvl(const MSG::Level lvl) const
Test the output level of the object.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > JetFourMom_t
Base 4 Momentum type for Jet.
Definition JetTypes.h:17

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

442 {
443 // Init input tensor
444 std::vector<float> input_tensor_values(m_NNInputs.size());
445
446 // Retrieve all input variables from the jet and/or jetEventInfo using our VarRetriever collection:
447 for(size_t i=0;i<input_tensor_values.size();i++){
448 float v = m_varretrievers[i]->value(jet_reco, jetEventInfo, m_eScales[i]);
449 // and perform normalisation :
450 input_tensor_values[i] = v*m_NormScales[i] + m_NormOffsets[i];
451 }
452
453 return input_tensor_values;
454}

◆ 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}
#define ATH_MSG_ERROR(x,...)

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

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

◆ 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 // If user did not set an explicit level, set a default
43 if (m_lvl == MSG::NIL) {
44 m_lvl = m_imsg ?
45 static_cast<MSG::Level>( m_imsg.load()->outputLevel(m_nm) ) :
46 MSG::INFO;
47 }
48}
std::string m_nm
Message source name.
std::atomic< IMessageSvc * > m_imsg
MessageSvc pointer.
std::atomic< MSG::Level > m_lvl
Current logging level.
IMessageSvc * getMessageSvc(bool quiet=false)
int outputLevel(const IMessageSvc *ims, const std::string &source)

◆ 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
51 return ::AthMessaging::msg();
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
59 return ::AthMessaging::msg( lvl );
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 28 of file JetCalibrationStep.h.

28{ 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.

102{};

◆ m_devMode

bool GlobalLargeRDNNCalibration::m_devMode {}
private

Definition at line 104 of file GlobalLargeRDNNCalibration.h.

104{};

◆ 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 38 of file JetCalibrationStep.h.

◆ m_imsg

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

MessageSvc pointer.

Definition at line 135 of file AthMessaging.h.

135{ nullptr };

◆ 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 39 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.

138{ MSG::NIL };

◆ 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 40 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_noMassCalibBelow40

bool GlobalLargeRDNNCalibration::m_noMassCalibBelow40 =false
private

Definition at line 106 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: