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

#include <TrigBStoxAODTool.h>

Inheritance diagram for TrigBStoxAODTool:
Collaboration diagram for TrigBStoxAODTool:

Public Member Functions

 TrigBStoxAODTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~TrigBStoxAODTool ()
virtual StatusCode initialize ()
StatusCode convert (HLT::Navigation *nav)
StatusCode rewireNavigation (HLT::Navigation *nav)
StatusCode setTrigPassBits (HLT::Navigation *nav)
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 sysInitialize () override
 Perform system initialization for an algorithm.
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

Static Public Member Functions

static const InterfaceID & interfaceID ()

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 std::multimap< CLID, BStoXAODHelper::IHelper * > MM_CLID_IHELPER
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

StatusCode classLabel2CLIDLabel (const std::vector< std::string > &property, const std::vector< std::string > &newProperty, std::vector< std::pair< CLID, std::string > > &decoded, std::vector< std::pair< CLID, std::string > > &decodedNewNames)
StatusCode findHelper (MM_CLID_IHELPER &helpers, CLID clid, std::string &label, MM_CLID_IHELPER::const_iterator &it)
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

std::vector< std::string > m_containersToConvert
std::vector< std::string > m_newContainers
std::vector< std::pair< CLID, std::string > > m_clid_labels
std::vector< std::pair< CLID, std::string > > m_clid_newLabels
ToolHandle< xAODMaker::ITauJetCnvToolm_tauJetTool
ToolHandle< xAODMaker::ICombinedMuonFeatureContainerCnvToolm_combMuonTool
ToolHandle< xAODMaker::IIsoMuonFeatureContainerCnvToolm_isoMuonTool
ToolHandle< ITrigMuonEFInfoToMuonCnvToolm_trigMuonTool
ToolHandle< xAODMaker::IJetCnvToolm_jetCnvTool
ToolHandle< xAODMaker::ITrigCaloClusterCnvToolm_trigCaloClusterTool
ToolHandle< xAODMaker::ITrigEMClusterCnvToolm_emClusterTool
ToolHandle< xAODMaker::ITrigBjetCnvToolm_bjetTool
ToolHandle< xAODMaker::ITrigEFBphysContainerCnvToolm_efBphysTool
ToolHandle< xAODMaker::ITrigL2BphysContainerCnvToolm_l2BphysTool
ToolHandle< xAODMaker::ITrigMissingETCnvToolm_trigMetTool
ToolHandle< xAODMaker::ITrigSpacePointCountsCnvToolm_trigSpacePtsTool
ToolHandle< xAODMaker::ITrigT2MbtsBitsCnvToolm_trigMbtsBitsTool
ToolHandle< xAODMaker::ITrigTrackCountsCnvToolm_trigTrackCtsTool
ToolHandle< xAODMaker::ITrigVertexCountsCnvToolm_trigVtxCtsTool
ToolHandle< xAODMaker::ITrackCollectionCnvToolm_trackCollectionTool {this, "TrackCollectionCnvTool","xAODMaker::TrackCollectionCnvTool/TrackCollectionCnvTool","Cnv of tracks"}
ToolHandle< xAODMaker::IRecTrackParticleContainerCnvToolm_recTrackParticleContTool {this, "TrackParticleContainerCnvTool","xAODMaker::RecTrackParticleContainerCnvTool/RecTrackParticleContainerCnvTool","Cnv of Rec::TrackParticles"}
ToolHandle< xAODMaker::IElectronCnvToolm_electronTool
ToolHandle< xAODMaker::IPhotonCnvToolm_photonTool
ToolHandle< xAODMaker::ICaloClusterCnvToolm_caloClusterTool
ToolHandle< xAODMaker::ITrigPassBitsCnvToolm_trigPassBitsTool
std::multimap< CLID, BStoXAODHelper::IHelper * > m_helpers
CLID m_CLID_xAODPhotonContainer
CLID m_CLID_xAODElectronContainer
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

Detailed Description

Definition at line 64 of file TrigBStoxAODTool.h.

Member Typedef Documentation

◆ MM_CLID_IHELPER

Definition at line 80 of file TrigBStoxAODTool.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ TrigBStoxAODTool()

TrigBStoxAODTool::TrigBStoxAODTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 363 of file TrigBStoxAODTool.cxx.

364 : AthAlgTool(type,name,parent),
365 m_tauJetTool( "xAODMaker::TauJetCnvTool/TauJetCnvTool",this),
366 m_combMuonTool( "xAODMaker::CombinedMuonFeatureContainerCnvTool/CombinedMuonFeatureContainerCnvTool",this),
367 m_isoMuonTool( "xAODMaker::IsoMuonFeatureContainerCnvTool/IsoMuonFeatureContainerCnvTool",this),
368 m_trigMuonTool( "TrigMuonEFInfoToMuonCnvTool/TrigMuonEFInfoToMuonCnvTool",this),
369 m_jetCnvTool( "xAODMaker::JetCnvTool/JetCnvTool",this),
370 m_trigCaloClusterTool( "xAODMaker::TrigCaloClusterCnvTool/TrigCaloClusterCnvTool",this),
371 m_emClusterTool( "xAODMaker::TrigEMClusterCnvTool/TrigEMClusterCnvTool",this),
372 m_bjetTool( "xAODMaker::TrigBjetCnvTool/TrigBjetCnvTool",this),
373 m_efBphysTool( "xAODMaker::TrigEFBphysContainerCnvTool/TrigEFBphysContainerCnvTool",this),
374 m_l2BphysTool( "xAODMaker::TrigL2BphysContainerCnvTool/TrigL2BphysContainerCnvTool",this),
375 m_trigMetTool( "xAODMaker::TrigMissingETCnvTool/TrigMissingETCnvTool",this),
376 m_trigSpacePtsTool("xAODMaker::TrigSpacePointCountsCnvTool/TrigSpacePointCountsCnvTool",this),
377 m_trigMbtsBitsTool("xAODMaker::TrigT2MbtsBitsCnvTool/TrigT2MbtsBitsCnvTool",this),
378 m_trigTrackCtsTool("xAODMaker::TrigTrackCountsCnvTool/TrigTrackCountsCnvTool",this),
379 m_trigVtxCtsTool( "xAODMaker::TrigVertexCountsCnvTool/TrigVertexCountsCnvTool",this),
380 m_electronTool( "xAODMaker::ElectronCnvTool/ElectronCnvTool", this ),
381 m_photonTool( "xAODMaker::PhotonCnvTool/PhotonCnvTool", this ),
382 m_caloClusterTool( "xAODMaker::CaloClusterCnvTool/CaloClusterCnvTool", this),
383 m_trigPassBitsTool( "xAODMaker::TrigPassBitsCnvTool/TrigPassBitsCnvTool", this )
384{
385 declareInterface<ITrigBStoxAODTool>( this );
386 declareProperty("ContainersToConvert",m_containersToConvert);
387 declareProperty("NewContainers", m_newContainers);
388
389 declareProperty("tauJetTool", m_tauJetTool);
390 declareProperty("combMuonTool", m_combMuonTool);
391 declareProperty("isoMuonTool", m_isoMuonTool);
392 declareProperty("trigMuonTool", m_trigMuonTool);
393 declareProperty("jetCnvTool", m_jetCnvTool);
394
395 declareProperty("trigCaloClusterTool", m_trigCaloClusterTool);
396 declareProperty("emClusterTool", m_emClusterTool);
397 declareProperty("bjetTool", m_bjetTool);
398 declareProperty("efBphysTool", m_efBphysTool);
399 declareProperty("l2BphysTool", m_l2BphysTool);
400
401 declareProperty("trigMetTool", m_trigMetTool);
402 declareProperty("trigSpacePtsTool", m_trigSpacePtsTool);
403 declareProperty("trigMbtsBitsTool", m_trigMbtsBitsTool);
404 declareProperty("trigTrackCtsTool", m_trigTrackCtsTool);
405 declareProperty("trigVtxCtsTool", m_trigVtxCtsTool);
406 declareProperty("electronTool", m_electronTool);
407 declareProperty("photonTool", m_photonTool);
408 declareProperty("caloClusterTool", m_caloClusterTool);
409 declareProperty("trigPassBitsTool", m_trigPassBitsTool);
410
411 m_CLID_xAODPhotonContainer = getCLID<xAOD::PhotonContainer>::ID();
412 m_CLID_xAODElectronContainer = getCLID<xAOD::ElectronContainer>::ID();
413}
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ToolHandle< xAODMaker::ITrigBjetCnvTool > m_bjetTool
ToolHandle< xAODMaker::IIsoMuonFeatureContainerCnvTool > m_isoMuonTool
ToolHandle< xAODMaker::ITrigEFBphysContainerCnvTool > m_efBphysTool
ToolHandle< xAODMaker::IElectronCnvTool > m_electronTool
ToolHandle< xAODMaker::ITrigL2BphysContainerCnvTool > m_l2BphysTool
ToolHandle< xAODMaker::ITrigT2MbtsBitsCnvTool > m_trigMbtsBitsTool
ToolHandle< ITrigMuonEFInfoToMuonCnvTool > m_trigMuonTool
ToolHandle< xAODMaker::ITrigCaloClusterCnvTool > m_trigCaloClusterTool
ToolHandle< xAODMaker::ITrigSpacePointCountsCnvTool > m_trigSpacePtsTool
std::vector< std::string > m_newContainers
ToolHandle< xAODMaker::ICombinedMuonFeatureContainerCnvTool > m_combMuonTool
ToolHandle< xAODMaker::ITrigTrackCountsCnvTool > m_trigTrackCtsTool
ToolHandle< xAODMaker::IJetCnvTool > m_jetCnvTool
ToolHandle< xAODMaker::ITrigMissingETCnvTool > m_trigMetTool
ToolHandle< xAODMaker::ITrigEMClusterCnvTool > m_emClusterTool
ToolHandle< xAODMaker::IPhotonCnvTool > m_photonTool
ToolHandle< xAODMaker::ICaloClusterCnvTool > m_caloClusterTool
ToolHandle< xAODMaker::ITrigPassBitsCnvTool > m_trigPassBitsTool
ToolHandle< xAODMaker::ITrigVertexCountsCnvTool > m_trigVtxCtsTool
std::vector< std::string > m_containersToConvert
ToolHandle< xAODMaker::ITauJetCnvTool > m_tauJetTool

◆ ~TrigBStoxAODTool()

TrigBStoxAODTool::~TrigBStoxAODTool ( )
virtual

Definition at line 415 of file TrigBStoxAODTool.cxx.

415 {
416 std::map<CLID,BStoXAODHelper::IHelper*>::iterator it;
417 for(it = m_helpers.begin();it!=m_helpers.end();++it){
418 delete it->second;
419 }
420}
std::multimap< CLID, BStoXAODHelper::IHelper * > m_helpers

Member Function Documentation

◆ classLabel2CLIDLabel()

StatusCode TrigBStoxAODTool::classLabel2CLIDLabel ( const std::vector< std::string > & property,
const std::vector< std::string > & newProperty,
std::vector< std::pair< CLID, std::string > > & decoded,
std::vector< std::pair< CLID, std::string > > & decodedNewNames )
private

Definition at line 690 of file TrigBStoxAODTool.cxx.

693 {
694 // translate Class names into CLID numbers
695 SmartIF<IClassIDSvc> clidSvc{service("ClassIDSvc")};
696 ATH_CHECK( clidSvc.isValid() );
697
698 if( property.size() != newProperty.size() ) {
699 ATH_MSG_ERROR("vector sizes of new and old SG labels are different: "
700 << newProperty.size() << " vs " << property.size() );
701 return StatusCode::FAILURE;
702 }
703
704 std::vector<std::string>::const_iterator it;
705 std::vector<std::string>::const_iterator itNew = newProperty.begin();
706 for ( it = property.begin(); it != property.end(); ++it, ++itNew ) {
707 CLID clid{0};
708 std::string label;
709 std::string label_new;
710 std::string type;
711
712 if ( it->find('#') != std::string::npos ) {
713 type = it->substr(0, it->find('#') );
714 label = it->substr(it->find('#')+1 );
715 } else {
716 type = *it;
717 label = "";
718 }
719
720 if ( itNew->find('#') != std::string::npos ) {
721 label_new = itNew->substr(itNew->find('#')+1 );
722 } else {
723 label_new = "";
724 }
725
726 if ( clidSvc->getIDOfTypeName(type, clid).isFailure() ) {
727 ATH_MSG_FATAL("Unable to get CLID for class: " << *it
728 << " check property");
729 return StatusCode::FAILURE;
730 }
731
732 ATH_MSG_DEBUG("Recognized CLID : " << type << " and label: " << label << ", new label will be: " << label_new);
733 decoded.push_back(std::make_pair(clid, label));
734 decodedNewNames.push_back(std::make_pair(clid, label_new));
735 }
736 return StatusCode::SUCCESS;
737}
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_ERROR(x)
#define ATH_MSG_FATAL(x)
#define ATH_MSG_DEBUG(x)
uint32_t CLID
The Class ID type.
std::string label(const std::string &format, int i)
Definition label.h:19

◆ convert()

StatusCode TrigBStoxAODTool::convert ( HLT::Navigation * nav)
virtual

Implements ITrigBStoxAODTool.

Definition at line 589 of file TrigBStoxAODTool.cxx.

589 {
590 std::vector<std::pair<CLID,std::string> >::const_iterator clidlabel;
591 std::vector<std::pair<CLID,std::string> >::const_iterator clidNewLabel = m_clid_newLabels.begin();
592 for(clidlabel =m_clid_labels.begin();clidlabel!=m_clid_labels.end();++clidlabel, ++clidNewLabel){
593
594 HLTNavDetails::IHolder* holder = nav->getHolder(clidlabel->first,clidlabel->second);
595
596 if(!holder){
597 ATH_MSG_WARNING("couldn't find holder for " << clidlabel->first << " " << clidlabel->second);
598 continue;
599 }
600
601 ATH_MSG_VERBOSE("container corresponding to feature CLID " << clidlabel->first << " has CLID " << holder->containerClid());
602
603 std::multimap<CLID,BStoXAODHelper::IHelper*>::const_iterator hit;
604 hit = m_helpers.end();//find(holder->containerClid());
605
606 std::string clabel = clidlabel->second;
607 CHECK(findHelper( m_helpers, holder->containerClid(), clabel, hit ));
608
609 if(hit!=m_helpers.end()){
610 ATH_MSG_DEBUG("attempting convertion of clid " << holder->containerClid()
611 << " for label " << clidlabel->second << ", new label " << clidNewLabel->second);
612 CHECK(hit->second->help(clidlabel->second,clidNewLabel->second));//get aod container and convert
613 ATH_MSG_DEBUG("converted clid " << holder->containerClid() << " for label " << clidlabel->second);
614 }
615 else{
616 ATH_MSG_DEBUG("couldn't find converters for clid: " << clidlabel->first);
617 }
618 }
619 return StatusCode::SUCCESS;
620}
#define ATH_MSG_VERBOSE(x)
#define ATH_MSG_WARNING(x)
#define CHECK(...)
Evaluate an expression and check for errors.
virtual CLID containerClid() const =0
HLTNavDetails::Holder< T > * getHolder(uint16_t subTypeIndex) const
as above but does not create holder on demand (return 0 if not found)
std::vector< std::pair< CLID, std::string > > m_clid_newLabels
StatusCode findHelper(MM_CLID_IHELPER &helpers, CLID clid, std::string &label, MM_CLID_IHELPER::const_iterator &it)
std::vector< std::pair< CLID, std::string > > m_clid_labels

◆ declareGaudiProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::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 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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< AlgTool > >::evtStore ( )
inlineinherited

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

Definition at line 85 of file AthCommonDataStore.h.

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::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

◆ findHelper()

StatusCode TrigBStoxAODTool::findHelper ( MM_CLID_IHELPER & helpers,
CLID clid,
std::string & label,
MM_CLID_IHELPER::const_iterator & it )
private

Definition at line 861 of file TrigBStoxAODTool.cxx.

861 {
862 auto myrange = helpers.equal_range(clid);
863 it = myrange.first;
864 //let's see how many there are converters corresponding to the same AOD input type
865 int distance = std::distance(myrange.first, myrange.second);
866 if (distance == 1) {
867 //default case, one-to-one relation of AOD and xAOD types
868 ATH_MSG_VERBOSE("helper to convert AOD CLID " << clid << " and label " << label << " found");
869 return StatusCode::SUCCESS;
870 } else if (distance == 2) {
871 //this is for the case when there is single AOD type converted to two different xAOD types,
872 //will treat this here separately. So far this only happens for egammaContainer->xAOD::ElectronContainer and
873 //egammaContainer->xAOD::PhotonContainer
874 for(;it!=myrange.second;++it) {
875 CLID myHelperxAODCLID = (*it).second->xAODContainerClid();
876 if((label == "egamma_Electrons" && myHelperxAODCLID == m_CLID_xAODElectronContainer) ||
877 (label == "egamma_Photons" && myHelperxAODCLID == m_CLID_xAODPhotonContainer)) {
878 ATH_MSG_VERBOSE("helper to convert AOD CLID " << clid << " and label " << label << " found");
879 return StatusCode::SUCCESS;
880 }
881 }
882 } else if( distance == 0) {
883 ATH_MSG_WARNING("there is no helper to convert AOD CLID " << clid << ", label " << label);
884 it = helpers.end();
885 return StatusCode::SUCCESS;
886 } else {
887 //this should not happen...
888 ATH_MSG_ERROR("found " << distance << " helpers to convert AOD type " << clid << " and label " << label
889 << ", probably you should accomodate for this change in the code above" );
890 return StatusCode::FAILURE;
891 }
892
893 //this point is not reached if everything is OK
894 return StatusCode::SUCCESS;
895
896} // MM_CLID_IHELPER::const_iterator findHelper( ... )
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space

◆ initialize()

StatusCode TrigBStoxAODTool::initialize ( )
virtual

Definition at line 422 of file TrigBStoxAODTool.cxx.

422 {
423
424 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
427 xAODMaker::ICombinedMuonFeatureContainerCnvTool>* >
429 new BStoXAODHelper::DefaultHelper<
432 xAODMaker::ICombinedMuonFeatureContainerCnvTool>(m_combMuonTool)) );
433
434 m_helpers.insert( std::pair<CLID,BStoXAODHelper::MuonHelper*>
436 new BStoXAODHelper::MuonHelper(m_trigMuonTool)) );
437
438 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
439 TrigCaloClusterContainer,
441 xAODMaker::ITrigCaloClusterCnvTool>* >
443 new BStoXAODHelper::DefaultHelper<
444 TrigCaloClusterContainer,
446 xAODMaker::ITrigCaloClusterCnvTool>(m_trigCaloClusterTool)) );
447
448 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
451 xAODMaker::ITrigEMClusterCnvTool>* >
453 new BStoXAODHelper::DefaultHelper<
456 xAODMaker::ITrigEMClusterCnvTool>(m_emClusterTool)) );
457
458 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
461 xAODMaker::ITrigEFBphysContainerCnvTool>* >
463 new BStoXAODHelper::DefaultHelper<
466 xAODMaker::ITrigEFBphysContainerCnvTool>(m_efBphysTool)) );
467
468 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
469 TrigL2BphysContainer,xAOD::TrigBphysContainer,xAODMaker::ITrigL2BphysContainerCnvTool>* >
471 new BStoXAODHelper::DefaultHelper<
472 TrigL2BphysContainer,xAOD::TrigBphysContainer,xAODMaker::ITrigL2BphysContainerCnvTool>(m_l2BphysTool)) );
473
474 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
475 JetCollection,xAOD::JetContainer,xAODMaker::IJetCnvTool>* >
477 new BStoXAODHelper::DefaultHelper<
478 JetCollection,xAOD::JetContainer,xAODMaker::IJetCnvTool>(m_jetCnvTool)) );
479
480 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
481 TrigMissingETContainer,xAOD::TrigMissingETContainer,xAODMaker::ITrigMissingETCnvTool>* >
483 new BStoXAODHelper::DefaultHelper<
484 TrigMissingETContainer,xAOD::TrigMissingETContainer,xAODMaker::ITrigMissingETCnvTool>(m_trigMetTool)) );
485
486 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
487 TrigSpacePointCountsCollection,xAOD::TrigSpacePointCountsContainer,xAODMaker::ITrigSpacePointCountsCnvTool>* >
489 new BStoXAODHelper::DefaultHelper<
491
492 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
493 TrigT2MbtsBitsContainer,xAOD::TrigT2MbtsBitsContainer,xAODMaker::ITrigT2MbtsBitsCnvTool>* >
495 new BStoXAODHelper::DefaultHelper<
496 TrigT2MbtsBitsContainer,xAOD::TrigT2MbtsBitsContainer,xAODMaker::ITrigT2MbtsBitsCnvTool>(m_trigMbtsBitsTool)) );
497
498 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
499 TrigTrackCountsCollection,xAOD::TrigTrackCountsContainer,xAODMaker::ITrigTrackCountsCnvTool>* >
500 (getCLID<TrigTrackCountsCollection>::ID(),
501 new BStoXAODHelper::DefaultHelper<
503
504 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
505 TrigVertexCountsCollection,xAOD::TrigVertexCountsContainer,xAODMaker::ITrigVertexCountsCnvTool>* >
507 new BStoXAODHelper::DefaultHelper<
508 TrigVertexCountsCollection,xAOD::TrigVertexCountsContainer,xAODMaker::ITrigVertexCountsCnvTool>(m_trigVtxCtsTool)) );
509
510 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
511 TrackCollection,xAOD::TrackParticleContainer,xAODMaker::ITrackCollectionCnvTool>* >
513 new BStoXAODHelper::DefaultHelper<
514 TrackCollection,xAOD::TrackParticleContainer,xAODMaker::ITrackCollectionCnvTool>(m_trackCollectionTool)) );
515
516 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
517 Rec::TrackParticleContainer,xAOD::TrackParticleContainer,xAODMaker::IRecTrackParticleContainerCnvTool>* >
519 new BStoXAODHelper::DefaultHelper<
520 Rec::TrackParticleContainer,xAOD::TrackParticleContainer,xAODMaker::IRecTrackParticleContainerCnvTool>(m_recTrackParticleContTool)) );
521
522 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
523 Analysis::TauJetContainer,xAOD::TauJetContainer,xAODMaker::ITauJetCnvTool>* >
525 new BStoXAODHelper::DefaultHelper<
526 Analysis::TauJetContainer,xAOD::TauJetContainer,xAODMaker::ITauJetCnvTool>(m_tauJetTool)) );
527
528 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
529 CaloClusterContainer,xAOD::CaloClusterContainer,xAODMaker::ICaloClusterCnvTool>* >
531 new BStoXAODHelper::DefaultHelper<
532 CaloClusterContainer,xAOD::CaloClusterContainer,xAODMaker::ICaloClusterCnvTool>(m_caloClusterTool)) );
533
534 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
535 egammaContainer,xAOD::ElectronContainer,xAODMaker::IElectronCnvTool>* >
537 new BStoXAODHelper::DefaultHelper<
538 egammaContainer,xAOD::ElectronContainer,xAODMaker::IElectronCnvTool>(m_electronTool)) );
539
540 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
541 egammaContainer,xAOD::PhotonContainer,xAODMaker::IPhotonCnvTool>* >
543 new BStoXAODHelper::DefaultHelper<
544 egammaContainer,xAOD::PhotonContainer,xAODMaker::IPhotonCnvTool>(m_photonTool)) );
545
546 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
547 TrigPassBitsCollection,xAOD::TrigPassBitsContainer,xAODMaker::ITrigPassBitsCnvTool>* >
549 new BStoXAODHelper::DefaultHelper<
550 TrigPassBitsCollection,xAOD::TrigPassBitsContainer,xAODMaker::ITrigPassBitsCnvTool>(m_trigPassBitsTool)) );
551
552 m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
553 TrigEFBjetContainer,xAOD::BTaggingContainer,xAODMaker::ITrigBjetCnvTool>* >
555 new BStoXAODHelper::DefaultHelper<
556 TrigEFBjetContainer,xAOD::BTaggingContainer,xAODMaker::ITrigBjetCnvTool>(m_bjetTool)) );
557
558
559 std::multimap<CLID,BStoXAODHelper::IHelper*>::iterator it;
560 for(it = m_helpers.begin();it!=m_helpers.end();++it){
561 CHECK(it->second->initialize(this->msg(),*(evtStore())));
562 }
563
564 ATH_MSG_DEBUG("containers to convert: " << m_containersToConvert);
565 ATH_MSG_DEBUG("containers will be converted to: " << m_newContainers);
567 ATH_MSG_DEBUG("extracted class IDs (" << m_clid_labels.size() << " in total): " << m_clid_labels);
568
569 if(m_clid_labels.size() != m_clid_newLabels.size()) {
570 ATH_MSG_ERROR("number of new containers names (" << m_clid_newLabels.size()
571 << ") is not the same as the number of old containers names ("
572 << m_clid_newLabels.size() << ")");
573 return StatusCode::FAILURE;
574 }
575 ATH_MSG_DEBUG("CLID CLID, old label, new label:");
576 for(uint i=0; i<m_clid_labels.size(); i++) {
577 ATH_MSG_DEBUG(m_clid_labels[i].first << " " << m_clid_newLabels[i].first << ", "
578 << m_clid_labels[i].second << ", " << m_clid_newLabels[i].second );
579 if(m_clid_labels[i].second != m_clid_newLabels[i].second) {
580 ATH_MSG_VERBOSE("Run-1 " << m_clid_labels[i].first << " label " <<
581 m_clid_labels[i].second << " differs from the equivalent Run-2 label: "
582 << m_clid_newLabels[i].second);
583 }
584 }
585
586 return StatusCode::SUCCESS;
587}
CaloClusterContainer
Definition CaloTPCnv.cxx:21
JetCollection
unsigned int uint
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
Athena::TPCnvVers::Old Athena::TPCnvVers::Old TrigEMClusterContainer
Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Current TrigT2MbtsBitsContainer
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old TrigTrackCountsCollection
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old TrigSpacePointCountsCollection
Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current TrigVertexCountsCollection
Athena::TPCnvVers::Current TrigMissingETContainer
CombinedMuonFeatureContainer
Athena::TPCnvVers::Current TrigEFBphysContainer
TrigEFBjetContainer
Athena::TPCnvVers::Current Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current TrigL2BphysContainer
Athena::TPCnvVers::Current Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current TrigPassBitsCollection
ServiceHandle< StoreGateSvc > & evtStore()
StatusCode classLabel2CLIDLabel(const std::vector< std::string > &property, const std::vector< std::string > &newProperty, std::vector< std::pair< CLID, std::string > > &decoded, std::vector< std::pair< CLID, std::string > > &decodedNewNames)
ToolHandle< xAODMaker::ITrackCollectionCnvTool > m_trackCollectionTool
ToolHandle< xAODMaker::IRecTrackParticleContainerCnvTool > m_recTrackParticleContTool
Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Old Athena::TPCnvVers::Current Athena::TPCnvVers::Current egammaContainer
TrigVertexCountsContainer_v1 TrigVertexCountsContainer
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
BTaggingContainer_v1 BTaggingContainer
Definition of the current "BTagging container version".
TrigPassBitsContainer_v1 TrigPassBitsContainer
Define the latest version of the trig pass bits container class.
TrigMissingETContainer_v1 TrigMissingETContainer
DataVector of TrigMissingET - the current version.
ElectronContainer_v1 ElectronContainer
Definition of the current "electron container version".
TrigCaloClusterContainer_v1 TrigCaloClusterContainer
Define the latest version of the trigger calorimeter cluster container.
TrigSpacePointCountsContainer_v1 TrigSpacePointCountsContainer
TrigEMClusterContainer_v1 TrigEMClusterContainer
Define the latest version of the trigger EM cluster container.
TrigTrackCountsContainer_v1 TrigTrackCountsContainer
L2CombinedMuonContainer_v1 L2CombinedMuonContainer
Define the latest version of the muon CB container.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
TauJetContainer_v3 TauJetContainer
Definition of the current "taujet container version".
TrigBphysContainer_v1 TrigBphysContainer

◆ inputHandles()

virtual std::vector< Gaudi::DataHandle * > AthCommonDataStore< AthCommonMsg< AlgTool > >::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.

◆ interfaceID()

const InterfaceID & ITrigBStoxAODTool::interfaceID ( )
inlinestaticinherited

Definition at line 25 of file ITrigBStoxAODTool.h.

25{ return IID_ITrigBStoxAODTool; }
static const InterfaceID IID_ITrigBStoxAODTool("ITrigBStoxAODTool", 1, 0)
Interface of Tool used by TrigBSExtraction to convert to xAOD.

◆ msg()

MsgStream & AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msgLvl()

bool AthCommonMsg< AlgTool >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::renounceArray ( SG::VarHandleKeyArray & handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364 {
366 }

◆ rewireNavigation()

StatusCode TrigBStoxAODTool::rewireNavigation ( HLT::Navigation * nav)
virtual

Implements ITrigBStoxAODTool.

Definition at line 622 of file TrigBStoxAODTool.cxx.

622 {
623 //we need to loop over all features of all TEs
624 //find the ones pointing to a AOD container that has been converted
625 //and change the holder they use to access the feature, i.e. changes CLID and subTypeIndex
626
627 std::vector<HLT::TriggerElement*>& allTEs = nav->getAllTEs();
628 //nav->getAll(allTEs,false); //false: also get inactive TEs
629 ATH_MSG_DEBUG("rewiring Navigation for xAOD. working on " << allTEs.size() << " TEs");
630 for(auto te : allTEs){
631 std::vector<HLT::TriggerElement::FeatureAccessHelper>& feats = te->getFeatureAccessHelpers();
632 for(auto& featacchelp : feats){
633 ATH_MSG_VERBOSE("this feature has CLID: " << featacchelp.getCLID());
634
635 HLTNavDetails::IHolder* oldholder = nav->getHolder(featacchelp.getCLID(),featacchelp.getIndex().subTypeIndex());
636
637 if(!oldholder){
638 ATH_MSG_WARNING("could not find old holder for CLID " << featacchelp.getCLID() << " and subTypeIndex: " << featacchelp.getIndex());
639 continue;
640 }
641
642 std::multimap<CLID,BStoXAODHelper::IHelper*>::const_iterator it = m_helpers.end();//find(oldholder->containerClid());
643 std::string old_label = oldholder->label();
644 CHECK(findHelper( m_helpers, oldholder->containerClid(), old_label, it));
645 if(it != m_helpers.end()){
646 ATH_MSG_VERBOSE("need to rewire this CLID from " << oldholder->typeClid() << "/"<< oldholder->containerClid() << " to " << it->second->xAODContainerClid());
647
648 bool iselement = (oldholder->typeClid()==it->second->AODElementClid());
649 bool iscontainer = (oldholder->typeClid()==it->second->AODContainerClid());
650
651 ATH_MSG_VERBOSE("old is element feature " << iselement << " or container feature: " << iscontainer);
652
653 if(!(iselement || iscontainer)){
654 ATH_MSG_WARNING("not clear what kind of feature we're dealing with. Skipping. Old holder is:" << *oldholder);
655 }
656
657 CLID newTypeClid = CLID_NULL;
658 if(iselement) newTypeClid = it->second->xAODElementClid();
659 if(iscontainer) newTypeClid = it->second->xAODContainerClid();
660
661 std::lock_guard<std::recursive_mutex> lock(nav->getMutex());
662 HLT::TrigHolderStructure& holderstorage = nav->getHolderStorage();
663
664 HLTNavDetails::IHolder* newholder = holderstorage.getHolder<HLTNavDetails::IHolder>(newTypeClid,oldholder->label());
665
666 if(!newholder){
667 ATH_MSG_WARNING("could not find new holder for xAOD clid " << newTypeClid << " and label " << oldholder->label());
668 continue;
669 }
670
671 ATH_MSG_VERBOSE("old holder: " << *oldholder);
672 ATH_MSG_VERBOSE("new holder: " << *newholder);
673 ATH_MSG_VERBOSE("changing CLID: " << featacchelp.getCLID() << " to " << newTypeClid);
674 ATH_MSG_VERBOSE("changing STI: " << featacchelp.getIndex().subTypeIndex() << " to " << newholder->subTypeIndex());
675
676 featacchelp.setCLIDandIndex(newTypeClid,newholder->subTypeIndex());
677 ATH_MSG_VERBOSE("clid is now: " << featacchelp.getCLID() << " sti: " << featacchelp.getIndex().subTypeIndex());
678 ATH_MSG_VERBOSE("TE is: " << *te);
679 } // end if(helper was found)
680 }//end feature loop
681 }//end TE loop
682
683
684 return StatusCode::SUCCESS;
685}
const std::string & label() const
returns the label of objects stores by this holder
Definition Holder.h:85
virtual CLID typeClid() const =0
returns the CLID of objects stores by this holder
uint16_t subTypeIndex() const
returns the index (short number used when linking object to the TE) of objects stores by this holder
Definition Holder.h:111
HolderType * getHolder(class_id_type clid, const std::variant< sub_index_type, std::string > &stiOrLabel) const
std::vector< TriggerElement * > & getAllTEs()
access needed by slimming tools.
std::recursive_mutex & getMutex()
TrigHolderStructure & getHolderStorage()

◆ setTrigPassBits()

StatusCode TrigBStoxAODTool::setTrigPassBits ( HLT::Navigation * nav)
virtual

Implements ITrigBStoxAODTool.

Definition at line 739 of file TrigBStoxAODTool.cxx.

739 {
740 //we need to loop over all features of all TEs
741 //find the ones pointing to a AOD container that has been converted
742 //extract the corresponding aod TrigPassBits container and set the same
743 //bits in xAOD::TrigPassBits
744
745 std::vector<HLT::TriggerElement*>& allTEs = nav->getAllTEs();
746
747 ATH_MSG_DEBUG("setting xAOD TrigPassBits. Working on " << allTEs.size() << " TEs");
748
749 for(auto te : allTEs){
750 std::vector<HLT::TriggerElement::FeatureAccessHelper>& feats = te->getFeatureAccessHelpers();
751 for(auto& featacchelp : feats){
752 ATH_MSG_VERBOSE("this feature has CLID: " << featacchelp.getCLID());
753
754 HLTNavDetails::IHolder* holder = nav->getHolder(featacchelp.getCLID(),featacchelp.getIndex().subTypeIndex());
755
756 if(!holder){
757 ATH_MSG_WARNING("could not find holder for CLID " << featacchelp.getCLID() << " and subTypeIndex: " << featacchelp.getIndex());
758 continue;
759 }
760
761 if(holder->label() == "passbits") {
762 ATH_MSG_VERBOSE( "skipping this feature, as this is the passbits object itself" );
763 continue;
764 }
765
766 std::multimap<CLID,BStoXAODHelper::IHelper*>::const_iterator it = m_helpers.end();//find(holder->containerClid());
767 std::string hlabel = holder->label();
768 CHECK(findHelper( m_helpers, holder->containerClid(), hlabel, it ));
769 if(it != m_helpers.end()){
770
771 ATH_MSG_DEBUG( "need to extract TrigPassBits for this AOD object " << holder->typeClid() << "/"<< holder->containerClid()
772 << ", label " << holder->label() << " corresponding to xAOD CLID " << it->second->xAODContainerClid() );
773
774 bool iselement = (holder->typeClid()==it->second->AODElementClid());
775 bool iscontainer = (holder->typeClid()==it->second->AODContainerClid());
776
777 ATH_MSG_VERBOSE("is element feature " << iselement << " or container feature: " << iscontainer);
778
779 if(!(iselement || iscontainer)){
780 ATH_MSG_WARNING("not clear what kind of feature we're dealing with. Skipping. The holder is:" << *holder);
781 }
782
783 ATH_MSG_VERBOSE("holder: " << *holder);
784
785 const TrigPassBitsCollection* bits_collection = evtStore()->template tryConstRetrieve<TrigPassBitsCollection>("HLT_TrigPassBitsCollection_passbits");
786 if(bits_collection != nullptr) {
787 ATH_MSG_DEBUG( "aod bits collection extracted of size " << bits_collection->size() );
788 //dump this to compare with the results from release 17
789 // for(uint i=0; i<bits_collection->size(); i++ ) {
790 // std::cout << "size of the TrigPassBits object " << i << " is " << bits_collection->at(i)->size() << std::endl;
791 // }
792 } else {
793 ATH_MSG_WARNING( "aod bits collection cannot be extracted" );
794 continue;
795 }
796
797
798 xAOD::TrigPassBitsContainer* xaod_bits_collection = evtStore()->template tryRetrieve<xAOD::TrigPassBitsContainer>("HLT_xAOD__TrigPassBitsContainer_passbits");
799 if(xaod_bits_collection != nullptr)
800 ATH_MSG_DEBUG( "xaod bits container extracted of size " << xaod_bits_collection->size() );
801 else {
802 ATH_MSG_WARNING( "xaod bits container cannot be extracted" );
803 continue;
804 }
805
806 const TrigPassBits* bits(0);
807 if ( nav->getFeature(te, bits, "passbits" ) ){
808 ATH_MSG_DEBUG( "TrigPassBits extracted for the container " << holder->label() );
809 if(bits!=nullptr) {
810 ATH_MSG_DEBUG( "it's size is " << bits->size() );
811 } else {
812 ATH_MSG_DEBUG( "it is nullptr" );
813 continue;
814 }
815 } else {
816 ATH_MSG_WARNING( "this TE has no associated TrigPassBits object" );
817 continue;
818 }
819 if(bits_collection != nullptr && xaod_bits_collection != nullptr && bits != nullptr) {
820 int bits_nr = -1;
821 for(uint i=0; i<bits_collection->size(); i++) {
822 if(bits == bits_collection->at(i)) {
823 bits_nr = i;
824 ATH_MSG_VERBOSE( "this is bits # " << bits_nr );
825 break;
826 }
827 }
828 if(bits_nr >= 0) {
829 xAOD::TrigPassBits* xaod_tpb = nullptr;
830 std::pair<CLID,std::string> pair = std::make_pair( featacchelp.getCLID(), holder->label() );
831 std::vector<std::pair<CLID,std::string> >::const_iterator it_new_label;
832 it_new_label = std::find(m_clid_newLabels.begin(), m_clid_newLabels.end(), pair);
833 std::string new_label = "";
834 if(it_new_label != m_clid_newLabels.end()) {
835 new_label = (*it_new_label).second;
836 ATH_MSG_DEBUG( "calling help_fillTrigPassBits for TE " << te << ", feature CLID " << featacchelp.getCLID()
837 << ", aod container " << holder->label() << ", new container name: " << new_label );
838 CHECK( it->second->help_fillTrigPassBits( holder->label(), new_label, bits_collection->at(bits_nr), xaod_tpb ) );
839 } else {
840 ATH_MSG_DEBUG( "new label was not found, presumably this container was not converted. Will not look for TrigPassBits" );
841 }
842
843 if(xaod_tpb != nullptr) {
844 xaod_bits_collection->at(bits_nr) = xaod_tpb;
845 ATH_MSG_VERBOSE( "after the conversion, size of xAOD::TrigPassBits is " << xaod_bits_collection->at(bits_nr)->size() );
846 }
847
848 } else {
849 ATH_MSG_WARNING( "TrigPassBits object was not identified within container!" );
850 }
851 }// if good aod and xaod passbits are available
852 } // if helper was found
853 }// feature loop
854 }// TE loop
855
856
857 return StatusCode::SUCCESS;
858}
const T * at(size_type n) const
Access an element, as an rvalue.
size_type size() const noexcept
Returns the number of elements in the collection.
bool getFeature(const TriggerElement *te, const T *&features, const std::string &label="", std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const
TrigPassBits_v1 TrigPassBits
Define the latest version of the trigger pass bits class.

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_bjetTool

ToolHandle<xAODMaker::ITrigBjetCnvTool> TrigBStoxAODTool::m_bjetTool
private

Definition at line 105 of file TrigBStoxAODTool.h.

◆ m_caloClusterTool

ToolHandle<xAODMaker::ICaloClusterCnvTool> TrigBStoxAODTool::m_caloClusterTool
private

Definition at line 129 of file TrigBStoxAODTool.h.

◆ m_clid_labels

std::vector<std::pair<CLID,std::string> > TrigBStoxAODTool::m_clid_labels
private

Definition at line 87 of file TrigBStoxAODTool.h.

◆ m_clid_newLabels

std::vector<std::pair<CLID,std::string> > TrigBStoxAODTool::m_clid_newLabels
private

Definition at line 88 of file TrigBStoxAODTool.h.

◆ m_CLID_xAODElectronContainer

CLID TrigBStoxAODTool::m_CLID_xAODElectronContainer
private

Definition at line 138 of file TrigBStoxAODTool.h.

◆ m_CLID_xAODPhotonContainer

CLID TrigBStoxAODTool::m_CLID_xAODPhotonContainer
private

Definition at line 137 of file TrigBStoxAODTool.h.

◆ m_combMuonTool

ToolHandle<xAODMaker::ICombinedMuonFeatureContainerCnvTool> TrigBStoxAODTool::m_combMuonTool
private

Definition at line 93 of file TrigBStoxAODTool.h.

◆ m_containersToConvert

std::vector<std::string> TrigBStoxAODTool::m_containersToConvert
private

Definition at line 84 of file TrigBStoxAODTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_efBphysTool

ToolHandle<xAODMaker::ITrigEFBphysContainerCnvTool> TrigBStoxAODTool::m_efBphysTool
private

Definition at line 108 of file TrigBStoxAODTool.h.

◆ m_electronTool

ToolHandle<xAODMaker::IElectronCnvTool> TrigBStoxAODTool::m_electronTool
private

Definition at line 125 of file TrigBStoxAODTool.h.

◆ m_emClusterTool

ToolHandle<xAODMaker::ITrigEMClusterCnvTool> TrigBStoxAODTool::m_emClusterTool
private

Definition at line 102 of file TrigBStoxAODTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_helpers

std::multimap<CLID,BStoXAODHelper::IHelper*> TrigBStoxAODTool::m_helpers
private

Definition at line 134 of file TrigBStoxAODTool.h.

◆ m_isoMuonTool

ToolHandle<xAODMaker::IIsoMuonFeatureContainerCnvTool> TrigBStoxAODTool::m_isoMuonTool
private

Definition at line 94 of file TrigBStoxAODTool.h.

◆ m_jetCnvTool

ToolHandle<xAODMaker::IJetCnvTool> TrigBStoxAODTool::m_jetCnvTool
private

Definition at line 98 of file TrigBStoxAODTool.h.

◆ m_l2BphysTool

ToolHandle<xAODMaker::ITrigL2BphysContainerCnvTool> TrigBStoxAODTool::m_l2BphysTool
private

Definition at line 109 of file TrigBStoxAODTool.h.

◆ m_newContainers

std::vector<std::string> TrigBStoxAODTool::m_newContainers
private

Definition at line 85 of file TrigBStoxAODTool.h.

◆ m_photonTool

ToolHandle<xAODMaker::IPhotonCnvTool> TrigBStoxAODTool::m_photonTool
private

Definition at line 126 of file TrigBStoxAODTool.h.

◆ m_recTrackParticleContTool

ToolHandle<xAODMaker::IRecTrackParticleContainerCnvTool> TrigBStoxAODTool::m_recTrackParticleContTool {this, "TrackParticleContainerCnvTool","xAODMaker::RecTrackParticleContainerCnvTool/RecTrackParticleContainerCnvTool","Cnv of Rec::TrackParticles"}
private

Definition at line 122 of file TrigBStoxAODTool.h.

122{this, "TrackParticleContainerCnvTool","xAODMaker::RecTrackParticleContainerCnvTool/RecTrackParticleContainerCnvTool","Cnv of Rec::TrackParticles"};

◆ m_tauJetTool

ToolHandle<xAODMaker::ITauJetCnvTool> TrigBStoxAODTool::m_tauJetTool
private

Definition at line 90 of file TrigBStoxAODTool.h.

◆ m_trackCollectionTool

ToolHandle<xAODMaker::ITrackCollectionCnvTool> TrigBStoxAODTool::m_trackCollectionTool {this, "TrackCollectionCnvTool","xAODMaker::TrackCollectionCnvTool/TrackCollectionCnvTool","Cnv of tracks"}
private

Definition at line 121 of file TrigBStoxAODTool.h.

121{this, "TrackCollectionCnvTool","xAODMaker::TrackCollectionCnvTool/TrackCollectionCnvTool","Cnv of tracks"};

◆ m_trigCaloClusterTool

ToolHandle<xAODMaker::ITrigCaloClusterCnvTool> TrigBStoxAODTool::m_trigCaloClusterTool
private

Definition at line 101 of file TrigBStoxAODTool.h.

◆ m_trigMbtsBitsTool

ToolHandle<xAODMaker::ITrigT2MbtsBitsCnvTool> TrigBStoxAODTool::m_trigMbtsBitsTool
private

Definition at line 116 of file TrigBStoxAODTool.h.

◆ m_trigMetTool

ToolHandle<xAODMaker::ITrigMissingETCnvTool> TrigBStoxAODTool::m_trigMetTool
private

Definition at line 112 of file TrigBStoxAODTool.h.

◆ m_trigMuonTool

ToolHandle<ITrigMuonEFInfoToMuonCnvTool> TrigBStoxAODTool::m_trigMuonTool
private

Definition at line 95 of file TrigBStoxAODTool.h.

◆ m_trigPassBitsTool

ToolHandle<xAODMaker::ITrigPassBitsCnvTool> TrigBStoxAODTool::m_trigPassBitsTool
private

Definition at line 132 of file TrigBStoxAODTool.h.

◆ m_trigSpacePtsTool

ToolHandle<xAODMaker::ITrigSpacePointCountsCnvTool> TrigBStoxAODTool::m_trigSpacePtsTool
private

Definition at line 115 of file TrigBStoxAODTool.h.

◆ m_trigTrackCtsTool

ToolHandle<xAODMaker::ITrigTrackCountsCnvTool> TrigBStoxAODTool::m_trigTrackCtsTool
private

Definition at line 117 of file TrigBStoxAODTool.h.

◆ m_trigVtxCtsTool

ToolHandle<xAODMaker::ITrigVertexCountsCnvTool> TrigBStoxAODTool::m_trigVtxCtsTool
private

Definition at line 118 of file TrigBStoxAODTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


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