ATLAS Offline Software
Loading...
Searching...
No Matches
L1TopoSimulation.cxx File Reference

Go to the source code of this file.

Functions

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

Function Documentation

◆ ATLAS_NOT_THREAD_SAFE()

StatusCode L1TopoSimulation::initialize ATLAS_NOT_THREAD_SAFE ( void )
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

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;
112 ATH_CHECK( detStore()->retrieve(l1menu) );
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}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
#define ATH_MSG_INFO(x)
#define ATH_MSG_DEBUG(x)
#define CHECK(...)
Evaluate an expression and check for errors.
L1 menu configuration.
Definition L1Menu.h:28
retrieve(aClass, aKey=None)
Definition PyKernel.py:110