ATLAS Offline Software
Loading...
Searching...
No Matches
RoIBResultToxAOD Class Reference

RoIB result to xAOD converter. More...

#include <RoIBResultToxAOD.h>

Inheritance diagram for RoIBResultToxAOD:
Collaboration diagram for RoIBResultToxAOD:

Public Member Functions

 RoIBResultToxAOD (const std::string &name, ISvcLocator *svcLoc)
 Algorithm constructor.
virtual StatusCode sysInitialize () override
 Override sysInitialize.
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm.
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies.
virtual bool filterPassed (const EventContext &ctx) const
virtual void setFilterPassed (bool state, const EventContext &ctx) const
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const
Function(s) implementing the @c Algorithm interface
virtual bool isClonable () const override
 Declare that the algorithm is clonable.
virtual StatusCode initialize () override
 Function initialising the algorithm.
virtual StatusCode execute (const EventContext &ctx) const override
 Function executing the algorithm.

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed.

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode createEmTauRoI (const ROIB::RoIBResult &roib, const EventContext &ctx) const
 Create the EmTau RoI objects.
StatusCode createJetEnergyRoI (const ROIB::RoIBResult &roib, const EventContext &ctx) const
 Create the JetEnergy RoI object.
StatusCode createMuonRoI (const ROIB::RoIBResult &roib, const EventContext &ctx) const
 Create the Muon RoI objects.
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default)
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared
Services
ToolHandle< LVL1::ITrigT1MuonRecRoiToolm_recRPCRoiTool { this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"}
 The RPC RoI reconstruction tool.
ToolHandle< LVL1::ITrigT1MuonRecRoiToolm_recTGCRoiTool
 The TGC RoI reconstruction service.
Tools
ToolHandle< LVL1::IL1CPMToolsm_emTauTool
 Tool for calculation of EmTau trigger sums per RoI.
ToolHandle< LVL1::IL1JEMJetToolsm_jetTool
 Tool for calculation of Jet cluster sums per RoI.
Read handle keys
SG::ReadHandleKey< ROIB::RoIBResultm_roibResultKey
 Read key for the ROIB::RoIBResult object.
SG::ReadHandleKey< xAOD::CPMTowerContainerm_cpmTowerKey
 Read key for the xAOD::CPMTowerContainer object.
SG::ReadHandleKey< xAOD::JetElementContainerm_jetElementKey
 Read key for the xAOD::JetElementContainer object.
Write handle keys
SG::WriteHandleKey< xAOD::MuonRoIContainerm_muonRoIKey
 Write key for the xAOD::MuonRoIContainer object.
SG::WriteHandleKey< xAOD::EmTauRoIContainerm_emtauRoIKey
 Write key for the xAOD::EmTauRoIContainer object.
SG::WriteHandleKey< xAOD::EnergySumRoIm_energysumRoIKey
 Write key for the xAOD::EnergySumRoI object.
SG::WriteHandleKey< xAOD::JetEtRoIm_jetetRoIKey
 Write key for the xAOD::JetEtRoI object.
SG::WriteHandleKey< xAOD::JetRoIContainerm_jetRoIKey
 Write key for the xAOD::JetRoIContainer object.
Other properties

Use inputs from the Calo system

Gaudi::Property< bool > m_doCalo
Gaudi::Property< bool > m_doMuon
 Use inputs from the Muon system.
Gaudi::Property< std::vector< std::string > > m_egammaItem
 List of LVL1 items for e/gamma trigger type.
Gaudi::Property< std::vector< std::string > > m_tauhadItem
 List of LVL1 items for tau trigger type.
Gaudi::Property< std::vector< std::string > > m_jetItem
 List of LVL1 items for jet trigger type.
Gaudi::Property< std::vector< std::string > > m_esumItem
 List of LVL1 items for energy sum trigger type.
Gaudi::Property< std::vector< std::string > > m_highmuItem
 List of LVL1 items for high pt muon trigger type.
Gaudi::Property< std::vector< std::string > > m_lowmuItem
 List of LVL1 items for low pt muon trigger type.

Detailed Description

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ RoIBResultToxAOD()

RoIBResultToxAOD::RoIBResultToxAOD ( const std::string & name,
ISvcLocator * svcLoc )

Algorithm constructor.

Definition at line 43 of file RoIBResultToxAOD.cxx.

45 : AthReentrantAlgorithm( name, svcLoc )
46{}

Member Function Documentation

◆ cardinality()

unsigned int AthCommonReentrantAlgorithm< Gaudi::Algorithm >::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.

64{
65 return 0;
66}

◆ createEmTauRoI()

StatusCode RoIBResultToxAOD::createEmTauRoI ( const ROIB::RoIBResult & roib,
const EventContext & ctx ) const
private

Create the EmTau RoI objects.

Create the xAOD container.

Definition at line 124 of file RoIBResultToxAOD.cxx.

125 {
126
127 // Tell the user what's happening.
128 ATH_MSG_DEBUG( "building EmTauRoI" );
129
131 auto emtau_xaod = std::make_unique< xAOD::EmTauRoIContainer >();
132 auto emtau_aux = std::make_unique< xAOD::EmTauRoIAuxContainer >();
133 emtau_xaod->setStore( emtau_aux.get() );
134
135 const TrigConf::L1Menu * l1menu = nullptr;
136 std::map< int, std::string > emThresholdNames;
137 std::map< int, std::string > tauThresholdNames;
138
139 ATH_CHECK( detStore()->retrieve(l1menu) );
140 // Digit scale for calorimeter trigger
141 float caloTrigScale = static_cast<float>(l1menu->thrExtraInfo().EM().resolutionMeV());
142 for( const auto& thr : l1menu->thresholds("EM")) {
143 emThresholdNames[ thr->mapping() ] = thr->name();
144 }
145 for( const auto& thr : l1menu->thresholds("TAU")) {
146 tauThresholdNames[ thr->mapping() ] = thr->name();
147 }
148
149 // Tool to reconstruct EM/tau cluster & isolation sums
150 // - need to form tower map for RoI reconstruction
151 xAOD::CPMTowerMap_t cpmtowers;
152 if( m_emTauTool.isEnabled() && ( ! m_cpmTowerKey.key().empty() ) ) {
153 auto cpmTower = SG::makeHandle( m_cpmTowerKey, ctx );
154 if (cpmTower.isValid()) {
155 m_emTauTool->mapTowers( cpmTower.cptr(), &cpmtowers );
156 } else {
157 ATH_MSG_DEBUG( "No CPMTowerCollection found at " << m_cpmTowerKey.key() );
158 }
159 }
160
161 // reconstruct ROI
162 ATH_MSG_DEBUG( "EmTau ROI" );
163 for( const ROIB::EMTauResult& emtResult : result.eMTauResult() ) {
164 for( const ROIB::EMTauRoI& emtRoI : emtResult.roIVec() ) {
165
166 uint32_t roIWord = emtRoI.roIWord();
167 ATH_MSG_DEBUG( "About to create RecEmTauRoI : " << MSG::hex
168 << std::setw( 8 ) << roIWord << MSG::dec );
169
170 // RecRoI
171 LVL1::RecEmTauRoI recRoI( roIWord, l1menu );
172
173 // xAOD component
174 // ATLAS standard phi convention differs from L1 hardware convention
175 double roiPhi = recRoI.phi();
176 if( roiPhi > M_PI ) roiPhi -= 2 * M_PI;
177
178 xAOD::EmTauRoI* roi = new xAOD::EmTauRoI();
179 emtau_xaod->push_back( roi );
180 roi->initialize( roIWord, recRoI.eta(), roiPhi );
181 roi->setEtScale( caloTrigScale );
182 roi->setThrPattern( recRoI.thresholdPattern() );
183
184 // fired thresholds
185 std::unique_ptr< std::vector< unsigned int > > thrV( recRoI.thresholdsPassed() );
186 for( unsigned int thr : *thrV ) {
187 const float thrValue = recRoI.triggerThreshold( thr ) * GeV;
188 auto thrType = recRoI.thresholdType( thr );
189 auto emNameItr = emThresholdNames.find( thr );
190 auto tauNameItr = tauThresholdNames.find( thr );
191 std::string thrName = "NameNotFound";
192 if( ( thrType == LVL1::TrigT1CaloDefs::EMAlg ) &&
193 ( emNameItr != emThresholdNames.end() ) ) {
194 thrName = emNameItr->second;
195 }
196 else if( ( thrType == LVL1::TrigT1CaloDefs::TauAlg ) &&
197 ( tauNameItr != tauThresholdNames.end() ) ) {
198 thrName = tauNameItr->second;
199 }
200
201 roi->addThreshold( thrName, thrValue );
202
203 ATH_MSG_DEBUG( "EmTau Thr : " << thr << ", name = " << thrName
204 << ", value = " << thrValue );
205 }
206
207 // Cluster ET values, reconstructed from TriggerTowers
208 if( m_emTauTool.isEnabled() ) {
209 LVL1::CPMTobAlgorithm roiSums = m_emTauTool->formSums(l1menu, roIWord, &cpmtowers );
210 roi->setCore( roiSums.CoreET() * caloTrigScale );
211 roi->setEmClus( roiSums.EMClusET() * caloTrigScale );
212 roi->setTauClus( roiSums.TauClusET() * caloTrigScale );
213 roi->setEmIsol( roiSums.EMIsolET() * caloTrigScale );
214 roi->setHadIsol( roiSums.HadIsolET() * caloTrigScale );
215 roi->setHadCore( roiSums.HadCoreET() * caloTrigScale );
216 }
217 }
218 }
219
220 // Record the results.
221 auto emtauRoI = SG::makeHandle( m_emtauRoIKey, ctx );
222 ATH_CHECK( emtauRoI.record( std::move( emtau_xaod ),
223 std::move( emtau_aux ) ) );
224
225 // Return gracefully.
226 return StatusCode::SUCCESS;
227}
#define M_PI
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_DEBUG(x)
const ServiceHandle< StoreGateSvc > & detStore() const
int CoreET()
Additional information for reconstruction & performance studies.
int HadIsolET()
Returns Had isolation ET.
int EMClusET()
Returns EM cluster ET, limited to 8 bits.
int TauClusET()
Returns Tau cluster ET, limited to 8 bits.
int HadCoreET()
Returns Had core ET (inner isolation sum)
int EMIsolET()
Returns EM isolation ET.
SG::ReadHandleKey< xAOD::CPMTowerContainer > m_cpmTowerKey
Read key for the xAOD::CPMTowerContainer object.
SG::WriteHandleKey< xAOD::EmTauRoIContainer > m_emtauRoIKey
Write key for the xAOD::EmTauRoIContainer object.
ToolHandle< LVL1::IL1CPMTools > m_emTauTool
Tool for calculation of EmTau trigger sums per RoI.
void addThreshold(const std::string &name, float value)
Add a new threshold that was passed by the RoI.
void setTauClus(float value)
Set the deposited ET from the "tau cluster".
void setCore(float value)
Set the ET of the RoI Core cluster (2x2 towers, EM+Had)
void setHadCore(float value)
Set the ET deposited in the inner hadronic isolation region.
void setEtScale(float v)
Set the ET scale.
void setEmClus(float value)
Set the deposited ET from the "EM cluster".
void initialize(uint32_t roiword, float eta, float phi)
Initialise the object with its most important properties.
void setEmIsol(float value)
Set the EM calorimeter isolation (outer ring of EM towers)
void setThrPattern(uint32_t value)
Set the threshold pattern.
void setHadIsol(float value)
Set the hadron calorimeter isolation (outer ring of had towers)
constexpr float roiPhi(const AnyRoIPointer &roi)
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
retrieve(aClass, aKey=None)
Definition PyKernel.py:110
setEventNumber uint32_t
std::map< int, const CPMTower * > CPMTowerMap_t
EmTauRoI_v2 EmTauRoI
Definition EmTauRoI.h:16

◆ createJetEnergyRoI()

StatusCode RoIBResultToxAOD::createJetEnergyRoI ( const ROIB::RoIBResult & roib,
const EventContext & ctx ) const
private

Create the JetEnergy RoI object.

Record the results

Definition at line 230 of file RoIBResultToxAOD.cxx.

231 {
232
233 ATH_MSG_DEBUG( "building JetEnergyRoI" );
234
235 // Containers for xAOD
236 auto jet_xaod = std::make_unique< xAOD::JetRoIContainer >();
237 auto jet_aux = std::make_unique< xAOD::JetRoIAuxContainer >();
238 jet_xaod->setStore( jet_aux.get() );
239
240 auto esum_xaod = std::make_unique< xAOD::EnergySumRoI >();
241 auto esum_aux = std::make_unique< xAOD::EnergySumRoIAuxInfo >();
242 esum_xaod->setStore( esum_aux.get() );
243
244 auto jetet_xaod = std::make_unique< xAOD::JetEtRoI >();
245 auto jetet_aux = std::make_unique< xAOD::JetEtRoIAuxInfo >();
246 jetet_xaod->setStore( jetet_aux.get() );
247
248 const TrigConf::L1Menu * l1menu = nullptr;
249 ATH_CHECK( detStore()->retrieve(l1menu) );
250
251 // Digit scale for calorimeter trigger
252 float caloTrigScale = static_cast<float>(l1menu->thrExtraInfo().JET().resolutionMeV());
253 ATH_MSG_DEBUG( "caloTrigScale = " << caloTrigScale );
254
255 // Fill maps of threshold names
256 std::map<int, std::string> jetNames;
257 std::map<int, std::string> jfNames;
258 std::map<int, std::string> jbNames;
259 std::map<int, std::string> xeNames;
260 std::map<int, std::string> teNames;
261 std::map<int, std::string> xsNames;
262 std::map<int, std::string> jeNames;
263 for( const auto& thr : l1menu->thresholds("JET")) {
264 jetNames[ thr->mapping() ] = thr->name();
265 }
266 for( const auto& thr : l1menu->thresholds("XE")) {
267 xeNames[ thr->mapping() ] = thr->name();
268 }
269 for( const auto& thr : l1menu->thresholds("TE")) {
270 teNames[ thr->mapping() ] = thr->name();
271 }
272 for( const auto& thr : l1menu->thresholds("XS")) {
273 xsNames[ thr->mapping() ] = thr->name();
274 }
275
276 // Tool to reconstruct Jet cluster ET sums
277 // - form input map ready for analysis
278 std::map< int, LVL1::JetInput* > jetInputs;
279 if( m_jetTool.isEnabled() && ( ! m_jetElementKey.key().empty() ) ) {
280 auto jetElement = SG::makeHandle( m_jetElementKey, ctx );
281 if (jetElement.isValid()) {
282 m_jetTool->mapJetInputs( jetElement.cptr(), &jetInputs );
283 } else {
284 ATH_MSG_DEBUG( "No JetElementContainer found at " << m_jetElementKey.key() );
285 }
286 }
287 std::vector< std::unique_ptr< LVL1::JetInput > > jetInputsHolder;
288 for( auto pair : jetInputs ) {
289 jetInputsHolder.emplace_back( pair.second );
290 }
291
292 // reconstruct ROI
293 for( const ROIB::JetEnergyResult& jeteResult : result.jetEnergyResult() ) {
294 auto itJET = jeteResult.roIVec().begin();
295 auto endJET = jeteResult.roIVec().end();
296 for( ; itJET != endJET; ++itJET ) {
297
298 const uint32_t roIWord = itJET->roIWord();
299
300 ATH_MSG_DEBUG( "Jet RoI, RoIWord = " << MSG::hex << std::setw( 8 )
301 << roIWord << MSG::dec );
302
303 // RoI type
304 LVL1::JEPRoIDecoder conv;
305 const int roiType = conv.roiType( roIWord );
306
307 // Jet ROI
308 if( roiType == LVL1::TrigT1CaloDefs::JetRoIWordType ) {
309 // RecRoI
310 LVL1::RecJetRoI recRoI( roIWord, l1menu );
311
312 // xAOD component
313 // Convert to ATLAS phi convention
314 double roiPhi = recRoI.phi();
315 if( roiPhi > M_PI ) roiPhi -= 2 * M_PI;
316
317 xAOD::JetRoI* roi = new xAOD::JetRoI();
318 jet_xaod->push_back( roi );
319 roi->initialize( roIWord, recRoI.eta(), roiPhi );
320 roi->setEtScale( caloTrigScale );
321 roi->setThrPattern( recRoI.thresholdPattern() );
322
323 // fired Jet thresholds
324 for( unsigned int thr : recRoI.thresholdsPassed() ) {
325
326 const double thrValue = recRoI.triggerThreshold( thr ) * GeV;
327 auto jetNameItr = jetNames.find( thr );
328 auto jfNameItr = jfNames.find( thr );
329 auto jbNameItr = jbNames.find( thr );
330 std::string thrName = "NameNotFound";
331 if( ! recRoI.isForwardJet() ) {
332 if( jetNameItr != jetNames.end() ) {
333 thrName = jetNameItr->second;
334 }
335 }
336 else if( recRoI.eta() > 0 ) {
337 if( jfNameItr != jfNames.end() ) {
338 thrName = jfNameItr->second;
339 }
340 }
341 else {
342 if( jbNameItr != jbNames.end() ) {
343 thrName = jbNameItr->second;
344 }
345 }
346
347 roi->addThreshold( thrName, thrValue );
348
349 ATH_MSG_DEBUG( "Jet Thr : " << thrName
350 << ", value = " << thrValue );
351 }
352
353 // Jet Cluster ET sums
354 if( m_jetTool.isEnabled() ) {
355 LVL1::JEMJetAlgorithm roiSums = m_jetTool->formSums( roIWord, &jetInputs );
356 roi->setEt4x4( roiSums.ET4x4() * caloTrigScale );
357 roi->setEt6x6( roiSums.ET6x6() * caloTrigScale );
358 roi->setEt8x8( roiSums.ET8x8() * caloTrigScale );
359 }
360
361 }
362 // Jet ET ROI
363 else if( roiType == LVL1::TrigT1CaloDefs::JetEtRoIWordType ) {
364
365 // xAOD component
366 jetet_xaod->setRoIWord( roIWord );
367
368 // fired Jet ET thresholds
369 for( unsigned int i = 0;
371 if( ( roIWord >> i ) & 0x1 ) {
372 std::string thrName = "NameNotFound";
373 if (jeNames.find(i) != jeNames.end()) thrName = jeNames[i];
374 jetet_xaod->addThreshold( thrName );
375 ATH_MSG_DEBUG( "JetEt Thr : " << thrName );
376 }
377 }
378
379 }
380 // EnergySum ROI
381 else if ( roiType == LVL1::TrigT1CaloDefs::EnergyRoIWordType0 ) {
382
383 // Extract information and fill EnergySumRoI
384 const uint32_t roiWord0 = roIWord;
385 ATH_MSG_DEBUG( "ET RoIWord 0 : " << MSG::hex << std::setw( 8 )
386 << roiWord0 << MSG::dec );
387 ++itJET;
388 const uint32_t roiWord1 = itJET->roIWord();
389 ATH_MSG_DEBUG( "ET RoIWord 1 : " << MSG::hex << std::setw( 8 )
390 << roiWord1 << MSG::dec );
391 ++itJET;
392 const uint32_t roiWord2 = itJET->roIWord();
393 ATH_MSG_DEBUG( "ET RoIWord 2 : " << MSG::hex << std::setw( 8 )
394 << roiWord2 << MSG::dec );
395
396 // RecRoI
397 LVL1::RecEnergyRoI recRoI( roiWord0, roiWord1, roiWord2, l1menu );
398
399 // xAOD component
400 esum_xaod->initialize( roiWord0, roiWord1, roiWord2,
401 recRoI.energyX() * caloTrigScale,
402 recRoI.energyY() * caloTrigScale,
403 recRoI.energyT() * caloTrigScale );
404
405 // fired summed ET thresholds
406 for( unsigned int thr : recRoI.etMissThresholdsPassed() ) {
407 auto xeNameItr = xeNames.find( thr - 1 );
408 const std::string thrName = ( xeNameItr != xeNames.end() ?
409 xeNameItr->second :
410 "NameNotFound" );
411 esum_xaod->addThreshold( thrName );
412 ATH_MSG_DEBUG( "ETmiss threshold : " << thrName );
413 }
414
415 // fired missing ET thresholds
416 for( unsigned int thr : recRoI.sumEtThresholdsPassed() ) {
417 auto teNameItr = teNames.find( thr - 1 );
418 const std::string thrName = ( teNameItr != teNames.end() ?
419 teNameItr->second :
420 "NameNotFound" );
421 esum_xaod->addThreshold( thrName );
422 ATH_MSG_DEBUG( "SumET threshold : " << thrName );
423 }
424
425 // fired missing ET significance thresholds
426 for( unsigned int thr : recRoI.mEtSigThresholdsPassed() ) {
427 auto xsNameItr = xsNames.find( thr - 1 );
428 const std::string thrName = ( xsNameItr != xsNames.end() ?
429 xsNameItr->second :
430 "NameNotFound" );
431 esum_xaod->addThreshold( thrName );
432 ATH_MSG_DEBUG( "METSig threshold : " << thrName );
433 }
434 }
435 }
436 }
437
439 auto jetRoI = SG::makeHandle( m_jetRoIKey, ctx );
440 ATH_CHECK( jetRoI.record( std::move( jet_xaod ), std::move( jet_aux ) ) );
441
442 auto jetetRoI = SG::makeHandle( m_jetetRoIKey, ctx );
443 ATH_CHECK( jetetRoI.record( std::move( jetet_xaod ),
444 std::move( jetet_aux ) ) );
445
446 auto energysumRoI = SG::makeHandle( m_energysumRoIKey, ctx );
447 ATH_CHECK( energysumRoI.record( std::move( esum_xaod ),
448 std::move( esum_aux ) ) );
449
450 // Return gracefully.
451 return StatusCode::SUCCESS;
452}
int ET4x4()
Returns 4x4 TT cluster ET.
int ET8x8()
Returns 8x8 TT cluster ET.
int ET6x6()
Returns 6x6 TT cluster ET.
static const unsigned int numOfJetEtSumThresholds
ToolHandle< LVL1::IL1JEMJetTools > m_jetTool
Tool for calculation of Jet cluster sums per RoI.
SG::WriteHandleKey< xAOD::JetRoIContainer > m_jetRoIKey
Write key for the xAOD::JetRoIContainer object.
SG::WriteHandleKey< xAOD::EnergySumRoI > m_energysumRoIKey
Write key for the xAOD::EnergySumRoI object.
SG::WriteHandleKey< xAOD::JetEtRoI > m_jetetRoIKey
Write key for the xAOD::JetEtRoI object.
SG::ReadHandleKey< xAOD::JetElementContainer > m_jetElementKey
Read key for the xAOD::JetElementContainer object.
void setEt8x8(float value)
Set the energy deposited in a 0.8x0.8 area around the RoI.
void setEt6x6(float value)
Set the energy deposited in a 0.6x0.6 area around the RoI.
void addThreshold(const std::string &name, float value)
Add a new threshold that was passed by the RoI.
Definition JetRoI_v2.cxx:72
void setEtScale(float value)
Set the ET scale for RoI digits.
void initialize(uint32_t roiword, float eta, float phi)
Initialise the object with its most important properties.
Definition JetRoI_v2.cxx:19
void setEt4x4(float value)
Set the energy deposited in a 0.4x0.4 area around the RoI.
void setThrPattern(uint32_t value)
Set the threshold pattern.
JetRoI_v2 JetRoI
Definition JetRoI.h:16

◆ createMuonRoI()

StatusCode RoIBResultToxAOD::createMuonRoI ( const ROIB::RoIBResult & roib,
const EventContext & ctx ) const
private

Create the Muon RoI objects.

Definition at line 454 of file RoIBResultToxAOD.cxx.

455 {
456
457 ATH_MSG_DEBUG( "in buildMuonRoI()" );
458
459 const TrigConf::L1Menu * l1menu = nullptr;
460 ATH_CHECK( detStore()->retrieve(l1menu) );
461
462 // Create the xAOD container.
463 auto mu_xaod = std::make_unique< xAOD::MuonRoIContainer >();
464 auto mu_aux = std::make_unique< xAOD::MuonRoIAuxContainer >();
465 mu_xaod->setStore( mu_aux.get() );
466
467
468 std::vector< TrigConf::TriggerThreshold* > muonThresholds;
469 std::map< int, std::string > thresholdNames;
470 for( const auto& thr : l1menu->thresholds("MU")) {
471 thresholdNames[ thr->mapping() ] = thr->name();
472 }
473
474 // get Muon ROI
475 const std::vector< ROIB::MuCTPIRoI >& muonRoIV =
476 result.muCTPIResult().roIVec();
477
478 // reconstruct ROI
479 ATH_MSG_DEBUG( "Muon ROI" );
480 for( const ROIB::MuCTPIRoI& roi : muonRoIV ) {
481
482 uint32_t roIWord = roi.roIWord();
483
484 ATH_MSG_DEBUG( MSG::hex << std::setw( 8 ) << roIWord );
485
486 // RecRoI
487 LVL1::RecMuonRoI recRoI( roIWord, m_recRPCRoiTool.get(), m_recTGCRoiTool.get(), l1menu );
488
489 const double thrValue = recRoI.getThresholdValue() * GeV;
490 const int index = recRoI.getThresholdNumber() - 1;
491 auto thrNameItr = thresholdNames.find( index );
492 const std::string thrName = ( thrNameItr != thresholdNames.end() ?
493 thrNameItr->second :
494 "NameNotFound" );
495
496 xAOD::MuonRoI* xaod_roi = new xAOD::MuonRoI();
497 mu_xaod->push_back( xaod_roi );
498 xaod_roi->initialize( roIWord, recRoI.eta(), recRoI.phi(), thrName,
499 thrValue );
500
501 ATH_MSG_DEBUG( "Muon Thr : " << thrName << ", value = " << thrValue );
502 }
503
504 // Record the muon RoIs.
505 auto muonRoI = SG::makeHandle( m_muonRoIKey, ctx );
506 ATH_CHECK( muonRoI.record( std::move( mu_xaod ), std::move( mu_aux ) ) );
507
508 // Return gracefully.
509 return StatusCode::SUCCESS;
510}
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recRPCRoiTool
The RPC RoI reconstruction tool.
ToolHandle< LVL1::ITrigT1MuonRecRoiTool > m_recTGCRoiTool
The TGC RoI reconstruction service.
SG::WriteHandleKey< xAOD::MuonRoIContainer > m_muonRoIKey
Write key for the xAOD::MuonRoIContainer object.
void initialize(uint32_t roiword, float eta, float phi, const std::string &thrname, float thrvalue, uint32_t extraword=0u)
Initialise the object with all its properties.
str index
Definition DeMoScan.py:362
MuonRoI_v1 MuonRoI
Definition MuonRoI.h:15

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T, V, H > & hndl,
const SG::VarHandleKeyType &  )
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

◆ detStore()

const ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

◆ evtStore()

ServiceHandle< StoreGateSvc > & AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

◆ execute()

StatusCode RoIBResultToxAOD::execute ( const EventContext & ctx) const
overridevirtual

Function executing the algorithm.

Definition at line 97 of file RoIBResultToxAOD.cxx.

97 {
98
99 // Tell the user what's happening.
100 ATH_MSG_DEBUG( "in execute()" );
101
102 // Access the input object.
103 auto roibResult = SG::makeHandle( m_roibResultKey, ctx );
104 if (!roibResult.isValid()) {
105 ATH_MSG_ERROR("Failed to retrieve " << m_roibResultKey.key());
106 return StatusCode::FAILURE;
107 }
108
109 // Create the muon RoIs:
110 if( m_doMuon ) {
111 ATH_CHECK( createMuonRoI( *roibResult, ctx ) );
112 }
113
114 // Create the calo RoIs:
115 if( m_doCalo ) {
116 ATH_CHECK( createEmTauRoI( *roibResult, ctx ) );
117 ATH_CHECK( createJetEnergyRoI( *roibResult, ctx ) );
118 }
119
120 // Return gracefully.
121 return StatusCode::SUCCESS;
122}
#define ATH_MSG_ERROR(x)
Gaudi::Property< bool > m_doMuon
Use inputs from the Muon system.
StatusCode createMuonRoI(const ROIB::RoIBResult &roib, const EventContext &ctx) const
Create the Muon RoI objects.
StatusCode createJetEnergyRoI(const ROIB::RoIBResult &roib, const EventContext &ctx) const
Create the JetEnergy RoI object.
StatusCode createEmTauRoI(const ROIB::RoIBResult &roib, const EventContext &ctx) const
Create the EmTau RoI objects.
SG::ReadHandleKey< ROIB::RoIBResult > m_roibResultKey
Read key for the ROIB::RoIBResult object.
Gaudi::Property< bool > m_doCalo

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase & ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthCommonReentrantAlgorithm< Gaudi::Algorithm >::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.

90{
91 // If we didn't find any symlinks to add, just return the collection
92 // from the base class. Otherwise, return the extended collection.
93 if (!m_extendedExtraObjects.empty()) {
95 }
97}
An algorithm that can be simultaneously executed in multiple threads.

◆ filterPassed()

virtual bool AthCommonReentrantAlgorithm< Gaudi::Algorithm >::filterPassed ( const EventContext & ctx) const
inlinevirtualinherited

Definition at line 96 of file AthCommonReentrantAlgorithm.h.

96 {
97 return execState( ctx ).filterPassed();
98 }
virtual bool filterPassed(const EventContext &ctx) const

◆ initialize()

StatusCode RoIBResultToxAOD::initialize ( )
overridevirtual

Function initialising the algorithm.

Definition at line 48 of file RoIBResultToxAOD.cxx.

48 {
49
50 // Print system info.
51 if( m_doCalo == false ) {
52 ATH_MSG_INFO( "Inputs from LVL1 Calo systems switched off" );
53 }
54 if( m_doMuon == false ) {
55 ATH_MSG_INFO( "Inputs from LVL1 Muon systems switched off" );
56 }
57
58 if( m_doMuon ) {
59 // Get the RPC RecRoI tool
60 ATH_CHECK( m_recRPCRoiTool.retrieve() );
61 ATH_MSG_DEBUG( "Connected to " << m_recRPCRoiTool.typeAndName() );
62
63 // Get the TGC RecRoI tool
64 ATH_CHECK( m_recTGCRoiTool.retrieve() );
65 ATH_MSG_DEBUG( "Connected to " << m_recTGCRoiTool.typeAndName() );
66 } else {
67 m_recRPCRoiTool.disable();
68 m_recTGCRoiTool.disable();
69 }
70
71 if( m_doCalo ) {
72 // Get tools
73 ATH_CHECK( m_emTauTool.retrieve() );
74 ATH_MSG_DEBUG( "Got " << m_emTauTool.typeAndName() );
75
76 ATH_CHECK( m_jetTool.retrieve() );
77 ATH_MSG_DEBUG( "Got " << m_jetTool.typeAndName() );
78 } else {
79 m_emTauTool.disable();
80 m_jetTool.disable();
81 }
82
83 // Initialise the keys.
84 ATH_CHECK( m_roibResultKey.initialize() );
87 ATH_CHECK( m_muonRoIKey.initialize(m_doMuon) );
88 ATH_CHECK( m_emtauRoIKey.initialize(m_doCalo) );
90 ATH_CHECK( m_jetetRoIKey.initialize(m_doCalo) );
91 ATH_CHECK( m_jetRoIKey.initialize(m_doCalo) );
92
93 // Return gracefully.
94 return StatusCode::SUCCESS;
95}
#define ATH_MSG_INFO(x)

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ isClonable()

virtual bool RoIBResultToxAOD::isClonable ( ) const
inlineoverridevirtual

Declare that the algorithm is clonable.

Reimplemented from AthCommonReentrantAlgorithm< Gaudi::Algorithm >.

Definition at line 53 of file RoIBResultToxAOD.h.

53{ return true; }

◆ msg()

MsgStream & AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24 {
25 return this->msgStream();
26 }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30 {
31 return this->msgLevel(lvl);
32 }

◆ outputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T & h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381 {
382 h.renounce();
384 }
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce(T &h)

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ setFilterPassed()

virtual void AthCommonReentrantAlgorithm< Gaudi::Algorithm >::setFilterPassed ( bool state,
const EventContext & ctx ) const
inlinevirtualinherited

Definition at line 100 of file AthCommonReentrantAlgorithm.h.

100 {
102 }
virtual void setFilterPassed(bool state, const EventContext &ctx) const

◆ sysExecute()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysExecute ( const EventContext & ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.

77{
78 return BaseAlg::sysExecute (ctx);
79}

◆ sysInitialize()

StatusCode AthCommonReentrantAlgorithm< Gaudi::Algorithm >::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in HypoBase, and InputMakerBase.

Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.

107 {
109
110 if (sc.isFailure()) {
111 return sc;
112 }
113
114 ServiceHandle<ICondSvc> cs("CondSvc",name());
115 for (auto h : outputHandles()) {
116 if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
117 // do this inside the loop so we don't create the CondSvc until needed
118 if ( cs.retrieve().isFailure() ) {
119 ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
120 return StatusCode::SUCCESS;
121 }
122 if (cs->regHandle(this,*h).isFailure()) {
124 ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
125 << " with CondSvc");
126 }
127 }
128 }
129 return sc;
130}
#define ATH_MSG_WARNING(x)
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase & )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308 {
309 // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310 // << " size: " << m_vhka.size() << endmsg;
311 for (auto &a : m_vhka) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }

Member Data Documentation

◆ m_cpmTowerKey

SG::ReadHandleKey< xAOD::CPMTowerContainer > RoIBResultToxAOD::m_cpmTowerKey
private
Initial value:
{
this, "CPMTowerLocation", LVL1::TrigT1CaloDefs::CPMTowerLocation,
"Key for the xAOD::CPMTowerContainer input object" }
static const std::string CPMTowerLocation

Read key for the xAOD::CPMTowerContainer object.

Definition at line 109 of file RoIBResultToxAOD.h.

109 {
110 this, "CPMTowerLocation", LVL1::TrigT1CaloDefs::CPMTowerLocation,
111 "Key for the xAOD::CPMTowerContainer input object" };

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doCalo

Gaudi::Property< bool > RoIBResultToxAOD::m_doCalo
private
Initial value:
{
this, "DoCalo", true, "Use inputs from the Calo system" }

Definition at line 148 of file RoIBResultToxAOD.h.

148 {
149 this, "DoCalo", true, "Use inputs from the Calo system" };

◆ m_doMuon

Gaudi::Property< bool > RoIBResultToxAOD::m_doMuon
private
Initial value:
{
this, "DoMuon", true, "Use inputs from the Muon system" }

Use inputs from the Muon system.

Definition at line 151 of file RoIBResultToxAOD.h.

151 {
152 this, "DoMuon", true, "Use inputs from the Muon system" };

◆ m_egammaItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_egammaItem
private
Initial value:
{
this, "EGammaItem", {}, "List of LVL1 items for e/gamma trigger type" }

List of LVL1 items for e/gamma trigger type.

Definition at line 155 of file RoIBResultToxAOD.h.

155 {
156 this, "EGammaItem", {}, "List of LVL1 items for e/gamma trigger type" };

◆ m_emtauRoIKey

SG::WriteHandleKey< xAOD::EmTauRoIContainer > RoIBResultToxAOD::m_emtauRoIKey
private
Initial value:
{
this, "xAODKeyEmTau", "LVL1EmTauRoIs",
"Key for the xAOD::EmTauRoIContainer output object" }

Write key for the xAOD::EmTauRoIContainer object.

Definition at line 127 of file RoIBResultToxAOD.h.

127 {
128 this, "xAODKeyEmTau", "LVL1EmTauRoIs",
129 "Key for the xAOD::EmTauRoIContainer output object" };

◆ m_emTauTool

ToolHandle< LVL1::IL1CPMTools > RoIBResultToxAOD::m_emTauTool
private
Initial value:
{
this, "L1CPMTools", "LVL1::L1CPMTools/L1CPMTools",
"Tool for calculation of EmTau trigger sums per RoI" }

Tool for calculation of EmTau trigger sums per RoI.

Definition at line 90 of file RoIBResultToxAOD.h.

90 {
91 this, "L1CPMTools", "LVL1::L1CPMTools/L1CPMTools",
92 "Tool for calculation of EmTau trigger sums per RoI" };

◆ m_energysumRoIKey

SG::WriteHandleKey< xAOD::EnergySumRoI > RoIBResultToxAOD::m_energysumRoIKey
private
Initial value:
{
this, "xAODKeyEsum", "LVL1EnergySumRoI",
"Key for the xAOD::EnergySumRoI output object" }

Write key for the xAOD::EnergySumRoI object.

Definition at line 131 of file RoIBResultToxAOD.h.

131 {
132 this, "xAODKeyEsum", "LVL1EnergySumRoI",
133 "Key for the xAOD::EnergySumRoI output object" };

◆ m_esumItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_esumItem
private
Initial value:
{
this, "ESumItem", {}, "List of LVL1 items for energy sum trigger type" }

List of LVL1 items for energy sum trigger type.

Definition at line 164 of file RoIBResultToxAOD.h.

164 {
165 this, "ESumItem", {}, "List of LVL1 items for energy sum trigger type" };

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthCommonReentrantAlgorithm< Gaudi::Algorithm >::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 114 of file AthCommonReentrantAlgorithm.h.

◆ m_highmuItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_highmuItem
private
Initial value:
{
this, "HighMuItem", {},
"List of LVL1 items for high pt muon trigger type" }

List of LVL1 items for high pt muon trigger type.

Definition at line 167 of file RoIBResultToxAOD.h.

167 {
168 this, "HighMuItem", {},
169 "List of LVL1 items for high pt muon trigger type" };

◆ m_jetElementKey

SG::ReadHandleKey< xAOD::JetElementContainer > RoIBResultToxAOD::m_jetElementKey
private
Initial value:
{
this, "JetElementLocation", LVL1::TrigT1CaloDefs::JetElementLocation,
"Key for the xAOD::JetElementContainer input object" }
static const std::string JetElementLocation

Read key for the xAOD::JetElementContainer object.

Definition at line 113 of file RoIBResultToxAOD.h.

113 {
114 this, "JetElementLocation", LVL1::TrigT1CaloDefs::JetElementLocation,
115 "Key for the xAOD::JetElementContainer input object" };

◆ m_jetetRoIKey

SG::WriteHandleKey< xAOD::JetEtRoI > RoIBResultToxAOD::m_jetetRoIKey
private
Initial value:
{
this, "xAODKeyJetEt", "LVL1JetEtRoI",
"Key for the xAOD::JetEtRoI output object" }

Write key for the xAOD::JetEtRoI object.

Definition at line 135 of file RoIBResultToxAOD.h.

135 {
136 this, "xAODKeyJetEt", "LVL1JetEtRoI",
137 "Key for the xAOD::JetEtRoI output object" };

◆ m_jetItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_jetItem
private
Initial value:
{
this, "JetItem", {}, "List of LVL1 items for jet trigger type" }

List of LVL1 items for jet trigger type.

Definition at line 161 of file RoIBResultToxAOD.h.

161 {
162 this, "JetItem", {}, "List of LVL1 items for jet trigger type" };

◆ m_jetRoIKey

SG::WriteHandleKey< xAOD::JetRoIContainer > RoIBResultToxAOD::m_jetRoIKey
private
Initial value:
{
this, "xAODKeyJet", "LVL1JetRoIs",
"Key for the xAOD::JetRoIContainer output object" }

Write key for the xAOD::JetRoIContainer object.

Definition at line 139 of file RoIBResultToxAOD.h.

139 {
140 this, "xAODKeyJet", "LVL1JetRoIs",
141 "Key for the xAOD::JetRoIContainer output object" };

◆ m_jetTool

ToolHandle< LVL1::IL1JEMJetTools > RoIBResultToxAOD::m_jetTool
private
Initial value:
{
this, "L1JEMJetTools", "LVL1::L1JEMJetTools/L1JEMJetTools",
"Tool for calculation of Jet cluster sums per RoI" }

Tool for calculation of Jet cluster sums per RoI.

Definition at line 94 of file RoIBResultToxAOD.h.

94 {
95 this, "L1JEMJetTools", "LVL1::L1JEMJetTools/L1JEMJetTools",
96 "Tool for calculation of Jet cluster sums per RoI" };

◆ m_lowmuItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_lowmuItem
private
Initial value:
{
this, "LowMuItem", {},
"List of LVL1 items for low pt muon trigger type" }

List of LVL1 items for low pt muon trigger type.

Definition at line 171 of file RoIBResultToxAOD.h.

171 {
172 this, "LowMuItem", {},
173 "List of LVL1 items for low pt muon trigger type" };

◆ m_muonRoIKey

SG::WriteHandleKey< xAOD::MuonRoIContainer > RoIBResultToxAOD::m_muonRoIKey
private
Initial value:
{
this, "xAODKeyMuon", "LVL1MuonRoIs",
"Key for the xAOD::MuonRoIContainer output object" }

Write key for the xAOD::MuonRoIContainer object.

Definition at line 123 of file RoIBResultToxAOD.h.

123 {
124 this, "xAODKeyMuon", "LVL1MuonRoIs",
125 "Key for the xAOD::MuonRoIContainer output object" };

◆ m_recRPCRoiTool

ToolHandle<LVL1::ITrigT1MuonRecRoiTool> RoIBResultToxAOD::m_recRPCRoiTool { this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"}
private

The RPC RoI reconstruction tool.

Definition at line 78 of file RoIBResultToxAOD.h.

78{ this, "RecRpcRoiTool", "LVL1::TrigT1RPCRecRoiTool/TrigT1RPCRecRoiTool"};

◆ m_recTGCRoiTool

ToolHandle< LVL1::ITrigT1MuonRecRoiTool > RoIBResultToxAOD::m_recTGCRoiTool
private
Initial value:
{
this, "RecTgcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool",
"TGC RoI reconstruction service" }

The TGC RoI reconstruction service.

Definition at line 80 of file RoIBResultToxAOD.h.

80 {
81 this, "RecTgcRoiTool", "LVL1::TrigT1TGCRecRoiTool/TrigT1TGCRecRoiTool",
82 "TGC RoI reconstruction service" };

◆ m_roibResultKey

SG::ReadHandleKey< ROIB::RoIBResult > RoIBResultToxAOD::m_roibResultKey
private
Initial value:
{
this, "RoIBResultInputKey", "RoIBResult",
"Key for the ROIB::RoIBResult input object" }

Read key for the ROIB::RoIBResult object.

Definition at line 104 of file RoIBResultToxAOD.h.

104 {
105 this, "RoIBResultInputKey", "RoIBResult",
106 "Key for the ROIB::RoIBResult input object" };

◆ m_tauhadItem

Gaudi::Property< std::vector< std::string > > RoIBResultToxAOD::m_tauhadItem
private
Initial value:
{
this, "TauHadItem", {}, "List of LVL1 items for tau trigger type" }

List of LVL1 items for tau trigger type.

Definition at line 158 of file RoIBResultToxAOD.h.

158 {
159 this, "TauHadItem", {}, "List of LVL1 items for tau trigger type" };

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files: