Skip to content
Snippets Groups Projects
Commit ea3e5ebd authored by Rafal Bielski's avatar Rafal Bielski :wave:
Browse files

Fix decision creating in MTCalibPebHypoAlg

It was broken by recent updates in TrigCompositeUtils. This commit updates the alg to the new TrigCompositeUtils interface.
parent 8d8fd34b
No related branches found
No related tags found
No related merge requests found
...@@ -5,10 +5,14 @@ ...@@ -5,10 +5,14 @@
#include "MTCalibPebHypoAlg.h" #include "MTCalibPebHypoAlg.h"
#include "DecisionHandling/HLTIdentifier.h" #include "DecisionHandling/HLTIdentifier.h"
// TrigCompositeUtils types used here
using TrigCompositeUtils::Decision; using TrigCompositeUtils::Decision;
using TrigCompositeUtils::DecisionContainer; using TrigCompositeUtils::DecisionContainer;
using TrigCompositeUtils::DecisionAuxContainer; using TrigCompositeUtils::DecisionID;
using TrigCompositeUtils::DecisionIDContainer; using TrigCompositeUtils::DecisionIDContainer;
// TrigCompositeUtils methods used here
using TrigCompositeUtils::createAndStore;
using TrigCompositeUtils::decisionIDs; using TrigCompositeUtils::decisionIDs;
using TrigCompositeUtils::newDecisionIn; using TrigCompositeUtils::newDecisionIn;
...@@ -47,13 +51,12 @@ StatusCode MTCalibPebHypoAlg::finalize() { ...@@ -47,13 +51,12 @@ StatusCode MTCalibPebHypoAlg::finalize() {
StatusCode MTCalibPebHypoAlg::execute(const EventContext& eventContext) const { StatusCode MTCalibPebHypoAlg::execute(const EventContext& eventContext) const {
ATH_MSG_DEBUG("Executing " << name()); ATH_MSG_DEBUG("Executing " << name());
// New output // New output decision container
auto decisions = std::make_unique<DecisionContainer>(); SG::WriteHandle<DecisionContainer> outputHandle = createAndStore(decisionOutput(), eventContext);
auto aux = std::make_unique<DecisionAuxContainer>(); DecisionContainer* decisions = outputHandle.ptr();
decisions->setStore(aux.get());
// Create new decision // Create new decision (DecisionContainer* decisions owns the new object)
Decision* newd = newDecisionIn(decisions.get()); // DecisionContainer decisions owns the pointer Decision* newd = newDecisionIn(decisions, "", eventContext);
// Prepare input for hypo tools // Prepare input for hypo tools
MTCalibPebHypoTool::Input toolInput(newd, eventContext); MTCalibPebHypoTool::Input toolInput(newd, eventContext);
...@@ -64,16 +67,13 @@ StatusCode MTCalibPebHypoAlg::execute(const EventContext& eventContext) const { ...@@ -64,16 +67,13 @@ StatusCode MTCalibPebHypoAlg::execute(const EventContext& eventContext) const {
ATH_CHECK(tool->decide(toolInput)); ATH_CHECK(tool->decide(toolInput));
} }
auto outputHandle = SG::makeHandle(decisionOutput(), eventContext);
CHECK( outputHandle.record(std::move(decisions), std::move(aux) ) );
ATH_MSG_DEBUG( "Exiting with "<< outputHandle->size() <<" decisions"); ATH_MSG_DEBUG( "Exiting with "<< outputHandle->size() <<" decisions");
for (auto outh: *outputHandle) { for (auto outh: *outputHandle) {
TrigCompositeUtils::DecisionIDContainer objDecisions; DecisionIDContainer objDecisions;
TrigCompositeUtils::decisionIDs(outh, objDecisions); decisionIDs(outh, objDecisions);
ATH_MSG_DEBUG("Number of positive decisions for this input: " << objDecisions.size()); ATH_MSG_DEBUG("Number of positive decisions for this input: " << objDecisions.size());
for ( TrigCompositeUtils::DecisionID id : objDecisions ) { for ( DecisionID id : objDecisions ) {
ATH_MSG_DEBUG(" --- found new decision " << HLT::Identifier(id)); ATH_MSG_DEBUG(" --- found new decision " << HLT::Identifier(id));
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment