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

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  ATH_MSG_DEBUG("retrieving " << m_emtauInputProvider);
62  CHECK( m_emtauInputProvider.retrieve() );
63 
64  ATH_MSG_DEBUG("retrieving " << m_jetInputProvider);
65  CHECK( m_jetInputProvider.retrieve() );
66 
67  ATH_MSG_DEBUG("retrieving " << m_energyInputProvider);
68  CHECK( m_energyInputProvider.retrieve() );
69 
70  ATH_MSG_DEBUG("retrieving " << m_muonInputProvider);
71  CHECK( m_muonInputProvider.retrieve(DisableTool{m_isLegacyTopo}) );
72 
73  ATH_MSG_DEBUG("retrieving " << m_ControlHistSvc);
74  CHECK( m_ControlHistSvc.retrieve());
75 
76  CHECK(m_l1topoRawDataKey.initialize(m_fillHistogramsBasedOnHardwareDecision));
77 
78  CHECK(m_legacyTopoCTPLocation.initialize(m_isLegacyTopo));
79  CHECK(m_legacyTopoOverflowCTPLocation.initialize(m_isLegacyTopo));
80  CHECK(m_topoCTPLocation.initialize(!m_isLegacyTopo));
81  CHECK(m_topoOverflowCTPLocation.initialize(!m_isLegacyTopo));
82  if (m_isLegacyTopo){
83  ATH_MSG_DEBUG("Legacy output trigger key property " << m_legacyTopoCTPLocation);
84  ATH_MSG_DEBUG("Legacy output overflow key property " << m_legacyTopoOverflowCTPLocation);
85  }
86  else {
87  ATH_MSG_DEBUG("Output trigger key property " << m_topoCTPLocation);
88  ATH_MSG_DEBUG("Output overflow key property " << m_topoOverflowCTPLocation);
89  }
90 
91  ATH_MSG_DEBUG("Prescale factor set to " << m_prescale);
92  ATH_MSG_DEBUG("PrescaleDAQROBAccess factor set to " << m_prescaleForDAQROBAccess);
93  ATH_MSG_DEBUG("FillHistoBasedOnHardware " << m_fillHistogramsBasedOnHardwareDecision);
94  if(m_fillHistogramsBasedOnHardwareDecision and
95  (m_prescaleForDAQROBAccess % m_prescale)) {
96  ATH_MSG_FATAL("PrescaleDAQROBAccess must be a multiple of Prescale"
97  <<" : current values :"
98  <<" "<<m_prescaleForDAQROBAccess
99  <<", "<<m_prescale);
100  return StatusCode::FAILURE;
101  }
102 
103  const TrigConf::L1Menu * l1menu = nullptr;
105  ATH_MSG_INFO( "initialize(): retrieving new-style L1 trigger menu from Detector Store" );
106 
107  m_topoSteering->setUseBitwise(m_enableBitwise);
108  try {
109  m_topoSteering->setupFromConfiguration(*l1menu);
110  }
111  catch(std::exception & e) {
112  ATH_MSG_FATAL("Caught exception when configuring topo steering from menu: " << e.what() );
113  return StatusCode::FAILURE;
114  }
115 
116  m_topoSteering->setAlgMsgLevel( TrigConf::MSGTC::Level((int)m_topoOutputLevel) );
117  m_topoSteering->setOutputAlgosFillBasedOnHardware(m_fillHistogramsBasedOnHardwareDecision);
118 
119  ATH_CHECK(m_ControlHistSvc->SetHistSvc(m_topoSteering, m_histBaseDir.value()));
120 
121  ATH_CHECK(m_legacyL1topoKey.initialize(m_isLegacyTopo));
122  ATH_CHECK(m_l1topoKey.initialize(!m_isLegacyTopo));
123 
124  return StatusCode::SUCCESS;
125 }
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:496
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