ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
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. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) 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 More...
 
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. More...
 

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 > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

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) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
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.

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 
413 }

◆ ~TrigBStoxAODTool()

TrigBStoxAODTool::~TrigBStoxAODTool ( )
virtual

Definition at line 415 of file TrigBStoxAODTool.cxx.

415  {
417  for(it = m_helpers.begin();it!=m_helpers.end();++it){
418  delete it->second;
419  }
420 }

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  IClassIDSvc* clidSvc{nullptr};
696  if( service("ClassIDSvc", clidSvc).isFailure() ) {
697  ATH_MSG_FATAL("Unable to get pointer to CLIDSvc Service");
698  return StatusCode::FAILURE;
699  }
700  if( property.size() != newProperty.size() ) {
701  ATH_MSG_ERROR("vector sizes of new and old SG labels are different: "
702  << newProperty.size() << " vs " << property.size() );
703  return StatusCode::FAILURE;
704  }
705 
706  std::vector<std::string>::const_iterator it;
707  std::vector<std::string>::const_iterator itNew = newProperty.begin();
708  for ( it = property.begin(); it != property.end(); ++it, ++itNew ) {
709  CLID clid{0};
710  std::string label;
711  std::string label_new;
712  std::string type;
713 
714  if ( it->find('#') != std::string::npos ) {
715  type = it->substr(0, it->find('#') );
716  label = it->substr(it->find('#')+1 );
717  } else {
718  type = *it;
719  label = "";
720  }
721 
722  if ( itNew->find('#') != std::string::npos ) {
723  label_new = itNew->substr(itNew->find('#')+1 );
724  } else {
725  label_new = "";
726  }
727 
728  if ( clidSvc->getIDOfTypeName(type, clid).isFailure() ) {
729  ATH_MSG_FATAL("Unable to get CLID for class: " << *it
730  << " check property");
731  return StatusCode::FAILURE;
732  }
733 
734  ATH_MSG_DEBUG("Recognized CLID : " << type << " and label: " << label << ", new label will be: " << label_new);
735  decoded.push_back(std::make_pair(clid, label));
736  decodedNewNames.push_back(std::make_pair(clid, label_new));
737  }
738  return StatusCode::SUCCESS;
739 }

◆ 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 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

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

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

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

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

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

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

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ 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.

95 { return m_detStore; }

◆ evtStore() [1/2]

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.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

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

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ 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 863 of file TrigBStoxAODTool.cxx.

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

◆ initialize()

StatusCode TrigBStoxAODTool::initialize ( )
virtual

Definition at line 422 of file TrigBStoxAODTool.cxx.

422  {
423 
424  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
433 
434  m_helpers.insert( std::pair<CLID,BStoXAODHelper::MuonHelper*>
437 
438  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
447 
448  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
457 
458  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
467 
468  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
473 
474  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
479 
480  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
485 
486  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
491 
492  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
497 
498  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
503 
504  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
509 
510  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
515 
516  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
521 
522  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
527 
528  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
533 
534  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
539 
540  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
545 
546  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
551 
552  m_helpers.insert( std::pair<CLID,BStoXAODHelper::DefaultHelper<
557 
558 
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++) {
578  << 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: "
583  }
584  }
585 
586  return StatusCode::SUCCESS;
587 }

◆ 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()

static const InterfaceID& ITrigBStoxAODTool::interfaceID ( )
inlinestaticinherited

Definition at line 25 of file ITrigBStoxAODTool.h.

25 { return IID_ITrigBStoxAODTool; }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

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

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ 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();
383  PBASE::renounce (h);
384  }

◆ 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  {
365  handlesArray.renounce();
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 }

◆ setTrigPassBits()

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

Implements ITrigBStoxAODTool.

Definition at line 741 of file TrigBStoxAODTool.cxx.

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

◆ 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 DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ 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) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

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.

◆ 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.

◆ 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:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
TrigBStoxAODTool::m_trackCollectionTool
ToolHandle< xAODMaker::ITrackCollectionCnvTool > m_trackCollectionTool
Definition: TrigBStoxAODTool.h:121
HLTNavDetails::IHolder::containerClid
virtual CLID containerClid() const =0
TrigBStoxAODTool::m_caloClusterTool
ToolHandle< xAODMaker::ICaloClusterCnvTool > m_caloClusterTool
Definition: TrigBStoxAODTool.h:129
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
TrigBStoxAODTool::m_trigCaloClusterTool
ToolHandle< xAODMaker::ITrigCaloClusterCnvTool > m_trigCaloClusterTool
Definition: TrigBStoxAODTool.h:101
TrigBStoxAODTool::m_efBphysTool
ToolHandle< xAODMaker::ITrigEFBphysContainerCnvTool > m_efBphysTool
Definition: TrigBStoxAODTool.h:108
getCLID
Definition: TrigBStoxAODTool.cxx:114
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
xAODMaker::ITrigL2BphysContainerCnvTool
Interface for the tool creating TrigBphysContainer from an AOD.
Definition: ITrigL2BphysContainerCnvTool.h:34
TrigBStoxAODTool::m_photonTool
ToolHandle< xAODMaker::IPhotonCnvTool > m_photonTool
Definition: TrigBStoxAODTool.h:126
TrigBStoxAODTool::m_combMuonTool
ToolHandle< xAODMaker::ICombinedMuonFeatureContainerCnvTool > m_combMuonTool
Definition: TrigBStoxAODTool.h:93
xAODMaker::ITrackCollectionCnvTool
Definition: ITrackCollectionCnvTool.h:33
xAODMaker::IPhotonCnvTool
Interface for the tool creating PhotonContainer from an AOD.
Definition: IPhotonCnvTool.h:38
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
HLTNavDetails::IHolder::label
const std::string & label() const
returns the label of objects stores by this holder
Definition: Holder.h:85
TrigPassBitsCollection
Definition: TrigPassBitsCollection.h:17
TrigBStoxAODTool::m_trigVtxCtsTool
ToolHandle< xAODMaker::ITrigVertexCountsCnvTool > m_trigVtxCtsTool
Definition: TrigBStoxAODTool.h:118
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
PlotCalibFromCool.label
label
Definition: PlotCalibFromCool.py:78
CaloClusterContainer
Storable container for CaloCluster.
Definition: Calorimeter/CaloEvent/CaloEvent/CaloClusterContainer.h:37
HLT::TrigHolderStructure
Definition: TrigHolderStructure.h:21
HLT::TrigNavStructure::getMutex
std::recursive_mutex & getMutex()
Definition: TrigNavStructure.h:371
CombinedMuonFeatureContainer
Definition: CombinedMuonFeatureContainer.h:14
TrigEFBjetContainer
Container of TrigEFBjet objects to be stored in POOL.
Definition: TrigEFBjetContainer.h:31
xAODMaker::ITrigEMClusterCnvTool
Interface for the tool creating TrigEMCluster from an AOD.
Definition: ITrigEMClusterCnvTool.h:38
skel.it
it
Definition: skel.GENtoEVGEN.py:423
xAODMaker::ITrigPassBitsCnvTool
Interface for the tool creating TrigPassBitsContainer from an AOD.
Definition: ITrigPassBitsCnvTool.h:38
TrigMissingETContainer
Definition: Trigger/TrigEvent/TrigMissingEtEvent/TrigMissingEtEvent/TrigMissingETContainer.h:12
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
xAODMaker::ITrigCaloClusterCnvTool
Interface for the tool creating TrigCaloCluster from an AOD.
Definition: ITrigCaloClusterCnvTool.h:38
Analysis::TauJetContainer
Definition: Reconstruction/tauEvent/tauEvent/TauJetContainer.h:31
TrigBStoxAODTool::m_trigMuonTool
ToolHandle< ITrigMuonEFInfoToMuonCnvTool > m_trigMuonTool
Definition: TrigBStoxAODTool.h:95
TrigBStoxAODTool::m_trigPassBitsTool
ToolHandle< xAODMaker::ITrigPassBitsCnvTool > m_trigPassBitsTool
Definition: TrigBStoxAODTool.h:132
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
TrigEMClusterContainer
Container from TrigEMCluster type objects.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigEMClusterContainer.h:32
TrigBStoxAODTool::m_newContainers
std::vector< std::string > m_newContainers
Definition: TrigBStoxAODTool.h:85
TrigBStoxAODTool::m_electronTool
ToolHandle< xAODMaker::IElectronCnvTool > m_electronTool
Definition: TrigBStoxAODTool.h:125
TrigBStoxAODTool::m_recTrackParticleContTool
ToolHandle< xAODMaker::IRecTrackParticleContainerCnvTool > m_recTrackParticleContTool
Definition: TrigBStoxAODTool.h:122
xAODMaker::IRecTrackParticleContainerCnvTool
Definition: IRecTrackParticleContainerCnvTool.h:37
HLT::NavigationCore::getFeature
bool getFeature(const TriggerElement *te, const T *&features, const std::string &label="", std::string &sourcelabel=::HLT::TrigNavStructure::m_unspecifiedLabel) const
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
HLT::NavigationCore::getHolder
HLTNavDetails::Holder< T > * getHolder(uint16_t subTypeIndex) const
as above but does not create holder on demand (return 0 if not found)
TrigBStoxAODTool::m_clid_newLabels
std::vector< std::pair< CLID, std::string > > m_clid_newLabels
Definition: TrigBStoxAODTool.h:88
TrigBStoxAODTool::m_CLID_xAODElectronContainer
CLID m_CLID_xAODElectronContainer
Definition: TrigBStoxAODTool.h:138
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
TrigTrackCountsCollection
Definition: TrigTrackCountsCollection.h:13
TrigBStoxAODTool::m_trigMbtsBitsTool
ToolHandle< xAODMaker::ITrigT2MbtsBitsCnvTool > m_trigMbtsBitsTool
Definition: TrigBStoxAODTool.h:116
TrigT2MbtsBitsContainer
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigT2MbtsBitsContainer.h:13
AthCommonDataStore
Definition: AthCommonDataStore.h:52
TrigBStoxAODTool::m_containersToConvert
std::vector< std::string > m_containersToConvert
Definition: TrigBStoxAODTool.h:84
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
TrigSpacePointCountsCollection
Definition: TrigSpacePointCountsCollection.h:20
lumiFormat.i
int i
Definition: lumiFormat.py:92
xAODMaker::ITrigT2MbtsBitsCnvTool
Interface for the tool creating TrigT2MbtsBitsContainer from an AOD.
Definition: ITrigT2MbtsBitsCnvTool.h:33
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAODMaker::ITrigBjetCnvTool
Interface for the tool creating TrigBjetContainer from an AOD.
Definition: ITrigBjetCnvTool.h:36
TrigBStoxAODTool::m_emClusterTool
ToolHandle< xAODMaker::ITrigEMClusterCnvTool > m_emClusterTool
Definition: TrigBStoxAODTool.h:102
xAOD::TrigPassBits_v1
Type describing which elements in a container passed a trigger chain.
Definition: TrigPassBits_v1.h:38
TrigBStoxAODTool::m_l2BphysTool
ToolHandle< xAODMaker::ITrigL2BphysContainerCnvTool > m_l2BphysTool
Definition: TrigBStoxAODTool.h:109
ClassID_traits
Default, invalid implementation of ClassID_traits.
Definition: Control/AthenaKernel/AthenaKernel/ClassID_traits.h:40
xAODMaker::IJetCnvTool
Interface for the tool creating JetContainer from an AOD.
Definition: IJetCnvTool.h:38
TrigBStoxAODTool::m_bjetTool
ToolHandle< xAODMaker::ITrigBjetCnvTool > m_bjetTool
Definition: TrigBStoxAODTool.h:105
test_pyathena.parent
parent
Definition: test_pyathena.py:15
xAODMaker::ITrigEFBphysContainerCnvTool
Interface for the tool creating TrigBphysContainer from an AOD.
Definition: ITrigEFBphysContainerCnvTool.h:34
egammaContainer
Definition: egammaContainer.h:41
HLT::TrigNavStructure::getHolderStorage
TrigHolderStructure & getHolderStorage()
Definition: TrigNavStructure.h:370
TrigBStoxAODTool::m_clid_labels
std::vector< std::pair< CLID, std::string > > m_clid_labels
Definition: TrigBStoxAODTool.h:87
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
xAODMaker::ITrigTrackCountsCnvTool
Interface for the tool creating TrigTrackCountsContainer from an AOD.
Definition: ITrigTrackCountsCnvTool.h:33
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
TrigBStoxAODTool::m_CLID_xAODPhotonContainer
CLID m_CLID_xAODPhotonContainer
Definition: TrigBStoxAODTool.h:137
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CLID
uint32_t CLID
The Class ID type.
Definition: Event/xAOD/xAODCore/xAODCore/ClassID_traits.h:47
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
TrigBStoxAODTool::m_trigMetTool
ToolHandle< xAODMaker::ITrigMissingETCnvTool > m_trigMetTool
Definition: TrigBStoxAODTool.h:112
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
TrigBStoxAODTool::m_trigSpacePtsTool
ToolHandle< xAODMaker::ITrigSpacePointCountsCnvTool > m_trigSpacePtsTool
Definition: TrigBStoxAODTool.h:115
xAODMaker::ICombinedMuonFeatureContainerCnvTool
Interface for the tool creating CombinedMuonFeatureContainer from an AOD.
Definition: ICombinedMuonFeatureContainerCnvTool.h:33
xAODMaker::ITrigSpacePointCountsCnvTool
Interface for the tool creating TrigSpacePointCountsContainer from an AOD.
Definition: ITrigSpacePointCountsCnvTool.h:33
TrigBStoxAODTool::m_jetCnvTool
ToolHandle< xAODMaker::IJetCnvTool > m_jetCnvTool
Definition: TrigBStoxAODTool.h:98
xAODMaker::ITauJetCnvTool
Interface for the tool creating TauJetContainer from an AOD.
Definition: ITauJetCnvTool.h:39
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TrigBStoxAODTool::m_helpers
std::multimap< CLID, BStoXAODHelper::IHelper * > m_helpers
Definition: TrigBStoxAODTool.h:134
xAODMaker::ICaloClusterCnvTool
Interface for the tool doing AOD->xAOD conversion for clusters.
Definition: ICaloClusterCnvTool.h:41
Rec::TrackParticleContainer
Definition: Reconstruction/Particle/Particle/TrackParticleContainer.h:33
TrigPassBits
Definition: Trigger/TrigEvent/TrigSteeringEvent/TrigSteeringEvent/TrigPassBits.h:17
TrigBStoxAODTool::classLabel2CLIDLabel
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)
Definition: TrigBStoxAODTool.cxx:690
TrigBStoxAODTool::m_trigTrackCtsTool
ToolHandle< xAODMaker::ITrigTrackCountsCnvTool > m_trigTrackCtsTool
Definition: TrigBStoxAODTool.h:117
TrigBStoxAODTool::m_isoMuonTool
ToolHandle< xAODMaker::IIsoMuonFeatureContainerCnvTool > m_isoMuonTool
Definition: TrigBStoxAODTool.h:94
HLT::TrigNavStructure::getAllTEs
std::vector< TriggerElement * > & getAllTEs()
access needed by slimming tools.
Definition: TrigNavStructure.cxx:376
BStoXAODHelper::DefaultHelper
Definition: TrigBStoxAODTool.cxx:179
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigBStoxAODTool::m_tauJetTool
ToolHandle< xAODMaker::ITauJetCnvTool > m_tauJetTool
Definition: TrigBStoxAODTool.h:90
h
TrigVertexCountsCollection
Definition: TrigVertexCountsCollection.h:13
HLTNavDetails::IHolder::typeClid
virtual CLID typeClid() const =0
returns the CLID of objects stores by this holder
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
HLTNavDetails::IHolder
Definition: Holder.h:58
JetCollection
Container for Jets
Definition: JetCollection.h:30
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DeMoScan.first
bool first
Definition: DeMoScan.py:534
HLTNavDetails::IHolder::subTypeIndex
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
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
xAODMaker::IElectronCnvTool
Interface for the tool creating ElectronContainer from an AOD.
Definition: IElectronCnvTool.h:37
TrigL2BphysContainer
Definition: TrigL2BphysContainer.h:33
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
DataVector::at
const T * at(size_type n) const
Access an element, as an rvalue.
TrigEFBphysContainer
Definition: TrigEFBphysContainer.h:34
xAODMaker::ITrigVertexCountsCnvTool
Interface for the tool creating TrigVertexCountsContainer from an AOD.
Definition: ITrigVertexCountsCnvTool.h:33
HLT::TrigHolderStructure::getHolder
HolderType * getHolder(class_id_type clid, const std::variant< sub_index_type, std::string > &stiOrLabel) const
Definition: TrigHolderStructure.h:30
python.PerfMonSerializer.decoded
def decoded
Definition: PerfMonSerializer.py:746
xAODMaker::ITrigMissingETCnvTool
Interface for the tool creating TrigMissingETContainer from an AOD.
Definition: ITrigMissingETCnvTool.h:33
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
TrigBStoxAODTool::findHelper
StatusCode findHelper(MM_CLID_IHELPER &helpers, CLID clid, std::string &label, MM_CLID_IHELPER::const_iterator &it)
Definition: TrigBStoxAODTool.cxx:863
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TrigCaloClusterContainer
Container from TrigCaloCluster type objects.
Definition: Trigger/TrigEvent/TrigCaloEvent/TrigCaloEvent/TrigCaloClusterContainer.h:29
BStoXAODHelper::MuonHelper
Definition: TrigBStoxAODTool.cxx:273
fitman.k
k
Definition: fitman.py:528