|
ATLAS Offline Software
|
Go to the documentation of this file.
6 #include "Gaudi/Property.h"
14 ISvcLocator* pSvcLocator ) :
15 ::HypoBase(
name, pSvcLocator ) {}
22 return StatusCode::SUCCESS;
34 ATH_MSG_DEBUG(
"The MET value is " <<
round(std::hypot((*metContainer)[0]->ex(), (*metContainer)[0]->ey())/1000.0 ));
38 if( not h_prevDecisions.isValid() ) {
40 return StatusCode::FAILURE;
43 ATH_MSG_DEBUG(
"Running with "<< h_prevDecisions->size() <<
" implicit ReadHandles for previous decisions");
44 auto prevDecisions = h_prevDecisions.get();
57 return StatusCode::SUCCESS;
65 const EventContext& context)
const{
68 if (oldDecisions->
size() != 1) {
69 ATH_MSG_ERROR(
"TrigMissingETHypoAlg requires there to be exactly one previous Decision object, but found " << oldDecisions->
size());
70 return StatusCode::FAILURE;
72 const Decision* previousDecision = oldDecisions->
at(0);
74 if (metContainer->
size()==0){
75 ATH_MSG_ERROR(
"There are no TrigEFMissingET objects in the MET container" );
76 return StatusCode::FAILURE;
77 }
else if (metContainer->
size()>1) {
78 ATH_MSG_ERROR(
"There is more than one TrigEFMissingET object in the MET container");
79 return StatusCode::FAILURE;
95 auto decisionId =
tool->getId();
108 return StatusCode::SUCCESS;
ToolHandleArray< ITrigMissingETHypoTool > m_hypoTools
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
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.
TrigMissingETContainer_v1 TrigMissingETContainer
DataVector of TrigMissingET - the current version.
const std::string & hypoAlgNodeName()
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
float round(const float toRound, const unsigned int decimals)
const T * get(size_type n) const
Access an element, as an rvalue.
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.
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())
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.
TrigMissingETHypoAlg(const std::string &name, ISvcLocator *pSvcLocator)
#define CHECK(...)
Evaluate an expression and check for errors.
Class used to describe composite objects in the HLT.
ElementLink implementation for ROOT usage.
const std::string & featureString()
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::TrigMissingETContainer > m_metKey
StatusCode decide(const xAOD::TrigMissingETContainer *metContainer, TrigCompositeUtils::DecisionContainer *newDecisions, const TrigCompositeUtils::DecisionContainer *oldDecisions, const EventContext &context) const
std::set< DecisionID > DecisionIDContainer
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
virtual StatusCode execute(const EventContext &context) const override
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.