5#ifndef TRIG_ENHANCEDBIASWEIGHTCOMPALG_H
6#define TRIG_ENHANCEDBIASWEIGHTCOMPALG_H
19#include <tbb/concurrent_hash_map.h>
20#include <tbb/concurrent_unordered_map.h>
21#include <tbb/concurrent_vector.h>
34 virtual StatusCode
start()
override;
35 virtual StatusCode
execute(
const EventContext& context)
const override;
36 virtual StatusCode
stop()
override;
75 PublicToolHandle<Trig::TrigDecisionTool>
m_tdt{
this,
"TrigDecisionTool",
"Trig::TrigDecisionTool/TrigDecisionTool",
"TrigDecisionTool"};
81 Gaudi::Property<std::map<std::string, std::vector<std::string>>>
m_chainToHLTSeed {
this,
"ChainToItemMap", {},
"Map for HLT seeded chains" };
96 std::vector<std::string>
parseItems(
const std::string& itemStr);
An algorithm that can be simultaneously executed in multiple threads.
std::string getName() const
double m_totalPrescale
Value of total prescale L1 * HLT.
void setTotalPrescale(const double &prescale)
TrigCompositeUtils::DecisionID getId() const
HLT::Identifier m_id
HLTID of the chain.
EBChainInfo(const HLT::Identifier &id)
double getTotalPrescale() const
bool getIsDisabled() const
SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > m_finalDecisionKey
virtual StatusCode start() override
std::vector< HLT::Identifier > m_EBChainIds
Available EB chains' IDs from HLT Menu.
std::string m_outputFilename ATLAS_THREAD_SAFE
Name of xml output file.
std::map< HLT::Identifier, std::vector< std::string > > m_EBChainIdToItem
L1 items for EB chains from HLT Menu.
Gaudi::Property< std::map< std::string, std::vector< std::string > > > m_chainToHLTSeed
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &context) const override
StatusCode fillTotalPrescaleForChains(const EventContext &context, std::vector< EBChainInfo > &EBChains) const
Retrieve total prescales (L1 * HLT) for chains into map.
EBResult calculateEBWeight(const std::vector< EBChainInfo > &EBChains) const
Calculate EB result based on total prescales of chains.
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
SG::ReadCondHandleKey< TrigConf::L1PrescalesSet > m_L1PrescaleSetInputKey
PublicToolHandle< Trig::TrigDecisionTool > m_tdt
std::vector< std::string > parseItems(const std::string &itemStr)
Parse list of l1 items.
virtual StatusCode stop() override
EnhancedBiasWeightCompAlg(const std::string &name, ISvcLocator *svcLoc)
std::vector< EBChainInfo > getPassedEBChains() const
Get list of Enhanced Bias chains that cound have passed.
bool checkIfTriggeredByRandomChain(const std::vector< EBChainInfo > &EBChain) const
Check if any of random chains passed.
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet > m_HLTPrescaleSetInputKey
Property holding a SG store/key/clid from which a ReadHandle is made.
std::string find(const std::string &s)
return a remapped string
Store result of EB weight calculation.