ATLAS Offline Software
Functions
L1TopoSimulation.cxx File Reference
#include "L1TopoSimulation.h"
#include "AthenaL1TopoHistSvc.h"
#include "TrigT1Interfaces/TrigT1CaloDefs.h"
#include "TrigT1CaloEvent/EmTauROI_ClassDEF.h"
#include "L1TopoConfig/L1TopoMenu.h"
#include "L1TopoEvent/TopoInputEvent.h"
#include "L1TopoCommon/Types.h"
#include "L1TopoInterfaces/IL1TopoHistSvc.h"
#include "L1TopoRDO/BlockTypes.h"
#include "L1TopoRDO/Header.h"
#include "L1TopoRDO/Helpers.h"
#include "L1TopoRDO/L1TopoTOB.h"
#include "L1TopoRDO/L1TopoRDOCollection.h"
#include "L1TopoRDO/L1TopoResult.h"
#include "xAODTrigger/L1TopoSimResults.h"
#include "xAODTrigger/L1TopoSimResultsAuxContainer.h"

Go to the source code of this file.

Functions

StatusCode L1TopoSimulation::initialize ATLAS_NOT_THREAD_SAFE ()
 Install fatal handler with default options. More...
 

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode L1TopoSimulation::initialize ATLAS_NOT_THREAD_SAFE ( )
inline

Install fatal handler with default options.

This is meant to be easy to call from python via ctypes.

Install fatal handler with default options.

getLorentzAngle() Read LorentzAngle from HIST and write out into local DB

getBSErrors() Read BSErrors from Monitoring HIST and write out into local DB

getEfficiency() Read Efficiency from Monitoring HIST and write out into local DB

getRawOccupancy() Read RawOccupancy from Monitoring HIST and write out into local DB

getNoiseOccupancy() Read NoiseOccupancy from HIST and write out into local DB

getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats

Install fatal handler with default options.

called at the end of each athena event (can be used for eg.

called at the beginning of each athena event (can be used for eg.

return the simulation service ID

resetting dynamic selectors)

beginning of the loop of channels

bad bit newly found

known bad bit

for low noisy cells

for high noisy cells

0.01 is used to scale "PER" to the same order of magnitude to "SIG"

smaller deviation: distorted

checking TmaxAmp, Not mixed with MaxAmp and Width

channel information output

Only dead or distorted, or short known BCs are considered below.

index of bc

getCoefficientMap(label, EigenIdxList)

input value:

  1. label: falvor label in std::string format, could be one of B, C, T, Light
  2. EigenIdxList is user defined vector containing all eigenvector index that user interested in. output: Map of format map<string, map<string, float>> containing decomposition coefficient of the list of eigenvectors defined by EigenIdxList.

getCoefficients(label, evIdx)

input value:

  1. label: falvor label in std::string format, could be one of B, C, T, Light
  2. evIdx: The index of eigenvector user interested in. output value: vector of coefficient values. The order is the same as output given by getListOfOriginalNuisanceParameters()

getListOfOriginalNuisanceParameters(label)

input value:

  1. label: falvor label in std::string format, could be one of B, C, T, Light output value: List of original nuisance parameter names.

getNumEigenVectors(label)

input value:

  1. label: falvor label in std::string format, could be one of B, C, T, Light return value: number of eigen vectors used for chosen label. Return 0 if error occured.

now add branches and leaves to the tree

now add branches and leaves to the tree

Definition at line 51 of file L1TopoSimulation.cxx.

51  {
52  ATH_MSG_INFO("initialize");
53 
54  m_topoSteering->setMsgLevel( TrigConf::MSGTC::Level((int)m_topoSteeringOutputLevel) );
55 
56  m_topoSteering->setLegacyMode(m_isLegacyTopo);
57 
58  ATH_MSG_DEBUG("retrieving " << m_histSvc);
59  CHECK( m_histSvc.retrieve() );
60 
61  if (m_emtauInputProvider.isEnabled()) {
62  ATH_MSG_DEBUG("retrieving " << m_emtauInputProvider);
63  CHECK( m_emtauInputProvider.retrieve() );
64  }
65 
66  if (m_jetInputProvider.isEnabled()) {
67  ATH_MSG_DEBUG("retrieving " << m_jetInputProvider);
68  CHECK( m_jetInputProvider.retrieve() );
69  }
70 
71  if (m_energyInputProvider.isEnabled()) {
72  ATH_MSG_DEBUG("retrieving " << m_energyInputProvider);
73  CHECK( m_energyInputProvider.retrieve() );
74  }
75 
76  if (m_muonInputProvider.isEnabled()) {
77  ATH_MSG_DEBUG("retrieving " << m_muonInputProvider);
78  CHECK( m_muonInputProvider.retrieve(DisableTool{m_isLegacyTopo}) );
79  }
80 
81  ATH_MSG_DEBUG("retrieving " << m_ControlHistSvc);
82  CHECK( m_ControlHistSvc.retrieve());
83 
84  CHECK(m_l1topoRawDataKey.initialize(m_fillHistogramsBasedOnHardwareDecision));
85 
86  CHECK(m_legacyTopoCTPLocation.initialize(m_isLegacyTopo));
87  CHECK(m_legacyTopoOverflowCTPLocation.initialize(m_isLegacyTopo));
88  CHECK(m_topoCTPLocation.initialize(!m_isLegacyTopo));
89  CHECK(m_topoOverflowCTPLocation.initialize(!m_isLegacyTopo));
90  if (m_isLegacyTopo){
91  ATH_MSG_DEBUG("Legacy output trigger key property " << m_legacyTopoCTPLocation);
92  ATH_MSG_DEBUG("Legacy output overflow key property " << m_legacyTopoOverflowCTPLocation);
93  }
94  else {
95  ATH_MSG_DEBUG("Output trigger key property " << m_topoCTPLocation);
96  ATH_MSG_DEBUG("Output overflow key property " << m_topoOverflowCTPLocation);
97  }
98 
99  ATH_MSG_DEBUG("Prescale factor set to " << m_prescale);
100  ATH_MSG_DEBUG("PrescaleDAQROBAccess factor set to " << m_prescaleForDAQROBAccess);
101  ATH_MSG_DEBUG("FillHistoBasedOnHardware " << m_fillHistogramsBasedOnHardwareDecision);
102  if(m_fillHistogramsBasedOnHardwareDecision and
103  (m_prescaleForDAQROBAccess % m_prescale)) {
104  ATH_MSG_FATAL("PrescaleDAQROBAccess must be a multiple of Prescale"
105  <<" : current values :"
106  <<" "<<m_prescaleForDAQROBAccess
107  <<", "<<m_prescale);
108  return StatusCode::FAILURE;
109  }
110 
111  const TrigConf::L1Menu * l1menu = nullptr;
113  ATH_MSG_INFO( "initialize(): retrieving new-style L1 trigger menu from Detector Store" );
114 
115  m_topoSteering->setUseBitwise(m_enableBitwise);
116  try {
117  m_topoSteering->setupFromConfiguration(*l1menu);
118  }
119  catch(std::exception & e) {
120  ATH_MSG_FATAL("Caught exception when configuring topo steering from menu: " << e.what() );
121  return StatusCode::FAILURE;
122  }
123 
124  m_topoSteering->setAlgMsgLevel( TrigConf::MSGTC::Level((int)m_topoOutputLevel) );
125  m_topoSteering->setOutputAlgosFillBasedOnHardware(m_fillHistogramsBasedOnHardwareDecision);
126 
127  if (m_doMonitoring) {ATH_CHECK(m_ControlHistSvc->SetHistSvc(m_topoSteering, m_histBaseDir.value()));}
128 
129  ATH_CHECK(m_legacyL1topoKey.initialize(m_isLegacyTopo));
130  ATH_CHECK(m_l1topoKey.initialize(!m_isLegacyTopo));
131 
132  return StatusCode::SUCCESS;
133 }
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
calibdata.exception
exception
Definition: calibdata.py:495
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73