20 const auto & prescales =
data().get_child(
"prescales");
21 for(
auto & p : prescales ) {
23 double prescaleValue = p.second.get_child(
"prescale").get_value<
double>();
25 ps.prescale = prescaleValue < 0 ? -prescaleValue : prescaleValue;
26 ps.enabled = (prescaleValue > 0);
27 boost::optional<bool> enabledField = p.second.get_optional<
bool>(
"enabled");
29 ps.enabled = *enabledField;
36 uint32_t namehash = p.second.get_child(
"hash").get_value<uint32_t>();
43 if(p.second.get_optional<
double>(
"prescale_express")){
44 double prescaleValue_express = p.second.get_child(
"prescale_express").get_value<
double>();
45 ps_express.
prescale = prescaleValue_express < 0 ? -prescaleValue_express : prescaleValue_express;
46 ps_express.
enabled = (prescaleValue_express > 0);
47 boost::optional<bool> enabledField_express = p.second.get_optional<
bool>(
"enabled_express");
48 if( enabledField_express ) {
49 ps_express.
enabled = *enabledField_express;
118 std::cout <<
"Name '" <<
name() <<
"'" << std::endl;
119 std::cout <<
"Prescales: " <<
size() << std::endl;
123 std::cout <<
" " << c++ <<
": " << ps.first <<
" -> " << ps.second.prescale << (ps.second.enabled ?
"" :
" (disabled)" ) << std::endl;
char data[hepevt_bytes_allocation_ATLAS]
virtual const std::string & name() const final
const ptree & data() const
Access to the underlying data, if needed.
DataStructure()
Default constructor, leading to an uninitialized configuration object.
T getAttribute(const std::string &key, bool ignoreIfMissing=false, const T &def=T()) const
Access to simple attribute.
std::size_t size() const
number of HLT prescales
const HLTPrescale & prescale_express(const std::string &chainName) const
HLT prescales by chain names.
const HLTPrescale & prescale(const std::string &chainName) const
HLT prescales by chain names.
std::unordered_map< std::string, HLTPrescale > m_prescales_express
HLTPrescale m_notInExpress
void setPSK(unsigned int psk)
std::unordered_map< uint32_t, HLTPrescale > m_prescalesByHash
std::unordered_map< std::string, HLTPrescale > m_prescales
HLTPrescalesSet()
Constructors.
unsigned int m_psk
the prescale key
unsigned int psk() const
setter and getter for the HLT prescale key
void printPrescaleSet(bool full) const
virtual void clear() override
Clearing the configuration data.
std::unordered_map< uint32_t, HLTPrescale > m_prescalesByHash_express
void search(TDirectory *td, const std::string &s, std::string cwd, node *n)
recursive directory search for TH1 and TH2 and TProfiles