|
ATLAS Offline Software
|
Go to the documentation of this file.
12 const std::string&
name,
20 return StatusCode::SUCCESS;
28 return StatusCode::SUCCESS;
46 std::optional<ThrVecRef> emThresholds;
51 constexpr
static unsigned int s_maxEmTOBs{5};
52 std::unordered_map<unsigned int, std::unordered_map<unsigned int, unsigned int>> tobCounts;
55 for (
const auto & emTauFragment : roib.
eMTauResult() ) {
56 for (
const auto & roi : emTauFragment.roIVec() ) {
59 ATH_MSG_DEBUG(
"Skipping RoI as it is not EM threshold " << roIWord );
66 overflow = (++tobCounts[crate][
module] > s_maxEmTOBs);
69 recRoIs->push_back( std::make_unique<LVL1::RecEmTauRoI>(roIWord, l1Menu.
cptr()) );
72 trigRoIs->
push_back( std::make_unique<TrigRoiDescriptor>(
77 ATH_MSG_DEBUG(
"RoI word: 0x" << MSG::hex << std::setw( 8 ) << roIWord << MSG::dec );
83 std::vector<TrigCompositeUtils::DecisionID> passedThresholdIDs;
85 for (
const auto&
th : emThresholds.value().get()) {
90 ATH_MSG_DEBUG(
"Passed Threshold names " <<
th->name() <<
" and " << thresholdProbeName);
96 decisionMain->
setDetail(
"thresholds", passedThresholdIDs );
102 decisionProbe->
setDetail(
"thresholds", passedThresholdIDs );
114 for (
Decision* decision : *decisionOutput) {
115 decision->setDetail(
"overflow",
static_cast<char>(overflow));
118 for (
auto roi: *trigRoIs ) {
119 ATH_MSG_DEBUG(
"RoI Eta: " << roi->eta() <<
" Phi: " << roi->phi() <<
" RoIWord: " << roi->roiWord() );
132 return StatusCode::SUCCESS;
unsigned int crate(const unsigned int roiWord) const
Decode crate number from RoI word.
bool setDetail(const std::string &name, const TYPE &value)
Set an TYPE detail on the object.
Group
Properties of a chain group.
const_pointer_type cptr()
Dereference the pointer.
Class holding the LVL1 RoIB result build by the RoIBuilder.
const std::string & hltSeedingNodeName()
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::vector< EMTauResult > & eMTauResult() const
Gets the egamma part of the L1 RDO.
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
const std::string & initialRecRoIString()
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
@ u
Enums for curvilinear frames.
ValuesCollection< T > Collection(std::string name, const T &collection)
Declare a monitored (double-convertible) collection.
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
bool passedThreshold(unsigned int threshold_number) const
returns TRUE if threshold number threshold_number has been passed by this ROI.
bool setObjectLink(const std::string &name, const ElementLink< CONTAINER > &link)
Set the link to an object.
const std::string & initialRoIString()
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
This class defines the reconstructed em/tau hadron ROI.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
SG::WriteHandle< CONT > createAndStoreNoAux(const SG::WriteHandleKey< CONT > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Creates and right away records the Container CONT with the key.
Class used to describe composite objects in the HLT.
Header file to be included by clients of the Monitored infrastructure.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
virtual double phi() const
returns phi coord of ROI
value_type push_back(value_type pElem)
Add an element to the end of the collection.
#define ATH_MSG_WARNING(x)
virtual double phi() const override final
Methods to retrieve data members.
unsigned int module(const unsigned int roiWord) const
Decode module number from RoI word.
std::set< HLT::Identifier > IDSet
virtual double eta() const override final
Declare a monitored scalar variable.
virtual double eta() const
returns eta coord of ROI
size_type size() const noexcept
Returns the number of elements in the collection.