|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #include "GaudiKernel/MsgStream.h"
6 #include "GaudiKernel/StatusCode.h"
17 ISvcLocator* pSvcLocator ) :
18 ::HypoBase(
name, pSvcLocator )
36 return StatusCode::SUCCESS;
45 ATH_MSG_DEBUG(
"StatusCode TrigMuonLateMuRoIHypoAlg::execute start");
49 ATH_CHECK( previousDecisionsHandle.isValid() );
50 ATH_MSG_DEBUG(
"Running with "<< previousDecisionsHandle->size() <<
" previous decisions");
58 std::vector<TrigMuonLateMuRoIHypoTool::MuonEFInfo> toolInput;
60 for (
const auto previousDecision: *previousDecisionsHandle ) {
63 auto roiInfo = TrigCompositeUtils::findLink<TrigRoiDescriptorCollection>( previousDecision,
initialRoIString() );
64 auto roiEL = roiInfo.link;
76 ATH_MSG_DEBUG(
"Muinfo handle size: " << roiHandle->size() <<
" ..." );
79 if(roiHandle->size()<1)
continue;
81 for(
size_t i=0;
i<roiHandle->size();
i++){
88 toolInput.emplace_back( newd, roi, lateRoI, previousDecision );
97 ATH_MSG_DEBUG(
"Found "<<toolInput.size()<<
" inputs to tools");
103 sc =
tool->decide(toolInput);
104 if (!
sc.isSuccess()) {
106 return StatusCode::FAILURE;
112 return StatusCode::SUCCESS;
virtual ~TrigMuonLateMuRoIHypoAlg()
Decision * newDecisionIn(DecisionContainer *dc, const std::string &name)
Helper method to create a Decision object, place it in the container and return a pointer to it.
ElementLink< T > makeLink(const SG::View *view, const SG::ReadHandle< T > &handle, size_t index)
Create EL to a collection in view.
const std::string & hypoAlgNodeName()
SG::ReadHandle< T > makeHandle(const SG::View *view, const SG::ReadHandleKey< T > &rhKey, const EventContext &context)
navigate from the TrigComposite to nearest view and fetch object from it
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)
const SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > & decisionInput() const
methods for derived classes to access handles of the base class input other read/write handles may be...
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
nope - should be used for standalone also, perhaps need to protect the class def bits #ifndef XAOD_AN...
TrigMuonLateMuRoIHypoAlg(const std::string &name, ISvcLocator *pSvcLocator)
const std::string & key() const
Return the StoreGate ID for the referenced object.
const SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > & decisionOutput() const
methods for derived classes to access handles of the base class output other read/write handles may b...
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
const std::string & initialRoIString()
StatusCode hypoBaseOutputProcessing(SG::WriteHandle< TrigCompositeUtils::DecisionContainer > &outputHandle, MSG::Level lvl=MSG::DEBUG) const
Base class function to be called once slice specific code has finished. Handles debug printing and va...
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const std::string & featureString()
ToolHandleArray< TrigMuonLateMuRoIHypoTool > m_hypoTools
SG::ReadHandleKey< TrigRoiDescriptorCollection > m_roiKey
void linkToPrevious(Decision *d, const std::string &previousCollectionKey, size_t previousIndex)
Links to the previous object, location of previous 'seed' decision supplied by hand.
virtual StatusCode initialize() override
virtual double phi() const override final
Methods to retrieve data members.
virtual double eta() const override final
virtual StatusCode execute(const EventContext &context) const override
const std::string & viewString()