Install fatal handler with default options.
This is meant to be easy to call from python via ctypes.
55 {
57
59
60 m_topoSteering->setLegacyMode(m_isLegacyTopo);
61
63 CHECK( m_histSvc.retrieve() );
64
65 if (m_emtauInputProvider.isEnabled()) {
67 CHECK( m_emtauInputProvider.retrieve() );
68 }
69
70 if (m_jetInputProvider.isEnabled()) {
72 CHECK( m_jetInputProvider.retrieve() );
73 }
74
75 if (m_energyInputProvider.isEnabled()) {
77 CHECK( m_energyInputProvider.retrieve() );
78 }
79
80 if (m_muonInputProvider.isEnabled()) {
82 CHECK( m_muonInputProvider.retrieve(DisableTool{m_isLegacyTopo}) );
83 }
84
86 CHECK( m_ControlHistSvc.retrieve());
87
88 CHECK(m_l1topoRawDataKey.initialize(m_fillHistogramsBasedOnHardwareDecision));
89
90 CHECK(m_legacyTopoCTPLocation.initialize(m_isLegacyTopo));
91 CHECK(m_legacyTopoOverflowCTPLocation.initialize(m_isLegacyTopo));
92 CHECK(m_topoCTPLocation.initialize(!m_isLegacyTopo));
93 CHECK(m_topoOverflowCTPLocation.initialize(!m_isLegacyTopo));
94 if (m_isLegacyTopo){
95 ATH_MSG_DEBUG(
"Legacy output trigger key property " << m_legacyTopoCTPLocation);
96 ATH_MSG_DEBUG(
"Legacy output overflow key property " << m_legacyTopoOverflowCTPLocation);
97 }
98 else {
99 ATH_MSG_DEBUG(
"Output trigger key property " << m_topoCTPLocation);
100 ATH_MSG_DEBUG(
"Output overflow key property " << m_topoOverflowCTPLocation);
101 }
102
104 ATH_MSG_DEBUG(
"PrescaleDAQROBAccess factor set to " << m_prescaleForDAQROBAccess);
105 ATH_MSG_DEBUG(
"FillHistoBasedOnHardware " << m_fillHistogramsBasedOnHardwareDecision);
106 if(m_fillHistogramsBasedOnHardwareDecision and
107 (m_prescaleForDAQROBAccess % m_prescale)) {
108 ATH_MSG_FATAL(
"PrescaleDAQROBAccess must be a multiple of Prescale"
109 <<" : current values :"
110 <<" "<<m_prescaleForDAQROBAccess
111 <<", "<<m_prescale);
112 return StatusCode::FAILURE;
113 }
114
116 ATH_CHECK( detStore()->retrieve(l1menu) );
117 ATH_MSG_INFO(
"initialize(): retrieving new-style L1 trigger menu from Detector Store" );
118
119
120
121
123
124 if ( jetProviderAsAlgTool &&
l1menu->thrExtraInfo().hasInfo(
"cXE") ) {
126 if ( jetProviderAsAlgTool->hasProperty("cXEweight_jFEX") ) {
127 float jXEweight = cXeExtraInfo.
jXeWeight();
128 jetProviderAsAlgTool->setProperty("cXEweight_jFEX", jXEweight).ignore();
129 }
130 if ( jetProviderAsAlgTool->hasProperty("cXEweight_gFEX") ) {
131 float gXEweight = cXeExtraInfo.
gXeWeight();
132 jetProviderAsAlgTool->setProperty("cXEweight_gFEX", gXEweight).ignore();
133 }
134 }
135
136 m_topoSteering->setUseBitwise(m_enableBitwise);
137 try {
138 m_topoSteering->setupFromConfiguration(*l1menu);
139 }
140 catch(std::exception & e) {
141 ATH_MSG_FATAL(
"Caught exception when configuring topo steering from menu: " <<
e.what() );
142 return StatusCode::FAILURE;
143 }
144
146 m_topoSteering->setOutputAlgosFillBasedOnHardware(m_fillHistogramsBasedOnHardwareDecision);
147
148 if (m_doMonitoring) {
ATH_CHECK(m_ControlHistSvc->SetHistSvc(m_topoSteering, m_histBaseDir.value()));}
149
150 ATH_CHECK(m_legacyL1topoKey.initialize(m_isLegacyTopo));
151 ATH_CHECK(m_l1topoKey.initialize(!m_isLegacyTopo));
152
153 return StatusCode::SUCCESS;
154}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define CHECK(...)
Evaluate an expression and check for errors.