|
ATLAS Offline Software
|
Go to the documentation of this file.
16 ISvcLocator* pSvcLocator ) :
17 ::HypoBase(
name, pSvcLocator ) {}
26 if (not
tool.empty()) {
31 return StatusCode::SUCCESS;
46 if( not h_prevDecisions.isValid() || h_prevDecisions->size() ==0) {
48 return StatusCode::SUCCESS;
51 if(h_prevDecisions->size() != 1){
53 <<
" (L1 RoIs not used), found " << h_prevDecisions->size());
54 return StatusCode::FAILURE;
58 const Decision* previousDecision = prevDecisions->
at(0);
83 return StatusCode::SUCCESS;
90 const EventContext& context)
const{
95 std::vector<std::pair<const xAOD::Jet*,Decision*>> jetHypoInputs;
96 jetHypoInputs.reserve(
jets->size());
119 jetHypoInputs.push_back( std::make_pair(
jet, newDecision) );
149 newDecision->
setDetail<int32_t>(
"noCombo", 1);
152 jetHypoInputs.push_back( std::make_pair(
jet, newDecision) );
165 msg() <<
"IDs of active legs:" <<
endmsg;
166 for(
auto decisionID: previousDecisionIDs) {
172 std::transform(previousDecisionIDs.begin(), previousDecisionIDs.end(),
173 std::inserter(leglessPreviousDecisionIDs,leglessPreviousDecisionIDs.begin()),
175 {return TrigCompositeUtils::getIDFromLeg(HLT::Identifier(id)).numeric();}
178 msg() <<
"IDs of active chains:" <<
endmsg;
179 for(
auto decisionID: leglessPreviousDecisionIDs) {
188 previousDecisionIDs.insert(leglessPreviousDecisionIDs.begin(), leglessPreviousDecisionIDs.end());
195 CHECK(
tool->decide(
jets, previousDecisionIDs, jetHypoInputs));
198 return StatusCode::SUCCESS;
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
SG::ReadHandleKey< xAOD::JetContainer > m_jetsKey
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.
const std::string & hypoAlgNodeName()
bool hasObjectLink(const std::string &name, const CLID clid=CLID_NULL) const
Check if a link to an object with a given name and type exists. CLID_NULL to not check type.
const T * get(size_type n) const
Access an element, as an rvalue.
bool msgLvl(const MSG::Level lvl) const
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...
StatusCode decide(const xAOD::JetContainer *jets, const TrigCompositeUtils::Decision *previousDecision, TrigCompositeUtils::DecisionContainer *outputDecisions, const EventContext &context) const
Populate outputDecisions and run all HypoTools over the jet collection.
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
#define ATH_MSG_VERBOSE(x)
virtual StatusCode initialize() override
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())
Gaudi::Property< bool > m_doPresel
bool setObjectLink(const std::string &name, const ElementLink< CONTAINER > &link)
Set the link to an object.
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.
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
#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()
ToolHandleArray< TrigJetHypoTool > m_hypoTools
std::set< DecisionID > DecisionIDContainer
TrigJetHypoAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode execute(const EventContext &context) const override
void decisionIDs(const Decision *d, DecisionIDContainer &destination)
Extracts DecisionIDs stored in the Decision object.
JetContainer_v1 JetContainer
Definition of the current "jet container version".
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.