ATLAS Offline Software
Loading...
Searching...
No Matches
TrigDBHLTPrescalesSetLoader.cxx
Go to the documentation of this file.
1// Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2
3#include "./TrigDBHelper.h"
5
7 TrigDBLoader("TrigDBHLTPrescalesSetLoader", connection)
8{
9 { // query for all schema versions
10 auto & q = m_queries[1];
11 // tables
12 q.addToTableList ( "HLT_PRESCALE_SET" );
13 // bind vars
14 q.extendBinding<int>("key");
15 // conditions
16 q.extendCondition("HPS_ID = :key");
17 // attributes
18 q.extendOutput<coral::Blob>( "HPS_DATA" );
19 // the field with the data
20 q.setDataName("HPS_DATA");
21 }
22}
23
24// Destructor defined here because QueryDefinition is an incomplete type in the header
26
27bool
29 const std::string & outFileName ) const
30{
31 // load data into ptree
32 boost::property_tree::ptree pt;
33 if(useCrest()) {
34 loadFromCrest(psk, pt, outFileName, "HLT prescales", "HLTPS");
35 } else {
36 loadFromOracle(psk, pt, outFileName, "HLT prescales", m_queries);
37 }
38
39 // fill HLTPrescaleSet with data
40 try {
41 pss.setData(std::move(pt));
42 pss.setPSK(psk);
43 }
44 catch(std::exception & ex) {
45 pss.clear();
46 TRG_MSG_ERROR("When reading HLT prescales for HLT PSK " << psk << " a parsing error occured ( " << ex.what() <<" )" );
47 throw TrigConf::ParsingException("TrigDBHLTPrescalesSetLoader: parsing error " + std::string(ex.what()));
48 }
49 return true;
50}
Loader class for Trigger configuration (HLT prescales set) from the Trigger DB.
void setData(const ptree &data)
Setting the configuration data.
HLT menu configuration.
void setPSK(unsigned int psk)
virtual void clear() override
Clearing the configuration data.
std::map< size_t, QueryDefinition > m_queries
TrigDBHLTPrescalesSetLoader(const std::string &connection)
Constructor.
virtual ~TrigDBHLTPrescalesSetLoader() override
Destructor - cannot be defined here because QueryDefinition is an incomplete type.
bool loadHLTPrescales(unsigned int hltpsk, HLTPrescalesSet &hltpss, const std::string &outFileName="") const
Load content from the Trigger DB into an HLTPrescalesSet for a given HLTPrescaleKey (HLTPSK)
TrigDBLoader(const std::string &loaderName, const std::string &connection)
Constructor.
void loadFromOracle(unsigned int key, boost::property_tree::ptree &pt, const std::string &outFileName, const std::string &description, const std::map< size_t, QueryDefinition > &queries) const
void loadFromCrest(unsigned int key, boost::property_tree::ptree &pt, const std::string &outFileName, const std::string &description, const std::string &query_type) const