ATLAS Offline Software
TrigDBL1PrescalesSetLoader.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("TrigDBL1PrescalesSetLoader", connection)
8 {
9  { // query for all schema versions
10  auto & q = m_queries[1];
11  // tables
12  q.addToTableList ( "L1_PRESCALE_SET" );
13  // bind vars
14  q.extendBinding<int>("key");
15  // conditions
16  q.extendCondition("L1PS_ID = :key");
17  // attributes
18  q.extendOutput<coral::Blob>( "L1PS_DATA" );
19  // the field with the data
20  q.setDataName("L1PS_DATA");
21  }
22 }
23 
24 // Destructor defined here because QueryDefinition is an incomplete type in the header
26 
27 bool
29  const std::string & outFileName ) const
30 {
31  // load data into ptree
33  if(useCrest()) {
34  loadFromCrest(psk, pt, outFileName, "L1 prescales", "L1PS");
35  } else {
36  loadFromOracle(psk, pt, outFileName, "L1 prescales", m_queries);
37  }
38 
39  // fill L1PrescaleSet 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 L1 prescales for L1 PSK " << psk << " a parsing error occured ( " << ex.what() <<" )" );
47  throw TrigConf::ParsingException("TrigDBL1PrescalesSetLoader: parsing error " + std::string(ex.what()));
48  }
49 
50  return true;
51 }
TRG_MSG_ERROR
#define TRG_MSG_ERROR(x)
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStreamMacros.h:29
TrigConf::TrigDBL1PrescalesSetLoader::TrigDBL1PrescalesSetLoader
TrigDBL1PrescalesSetLoader(const std::string &connection)
Constructor.
Definition: TrigDBL1PrescalesSetLoader.cxx:6
TrigConf::TrigDBL1PrescalesSetLoader::loadL1Prescales
bool loadL1Prescales(unsigned int l1psk, L1PrescalesSet &l1pss, const std::string &outFileName="") const
Load content from the Trigger DB into an L1PrescalesSet for a given L1PrescaleKey (L1PSK)
Definition: TrigDBL1PrescalesSetLoader.cxx:28
TrigConf::TrigDBLoader
Loader of trigger configurations from the Trigger database.
Definition: TrigDBLoader.h:39
test_pyathena.pt
pt
Definition: test_pyathena.py:11
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
TrigConf::L1PrescalesSet::setPSK
void setPSK(unsigned int psk)
Definition: L1PrescalesSet.cxx:49
TrigConf::DataStructure::setData
void setData(const ptree &data)
Setting the configuration data.
Definition: DataStructure.cxx:39
TrigDBL1PrescalesSetLoader.h
Loader class for Trigger configuration (L1 prescales set) from the Trigger DB.
calibdata.exception
exception
Definition: calibdata.py:495
TrigConf::L1PrescalesSet::clear
virtual void clear() override
Clearing the configuration data.
Definition: L1PrescalesSet.cxx:31
TrigConf::L1PrescalesSet
L1 menu configuration.
Definition: L1PrescalesSet.h:19
TrigConf::ParsingException
Definition: Trigger/TrigConfiguration/TrigConfIO/TrigConfIO/Exceptions.h:56
ptree
boost::property_tree::ptree ptree
Definition: JsonFileLoader.cxx:16
dumpNswErrorDb.outFileName
string outFileName
Definition: dumpNswErrorDb.py:131
TrigConf::TrigDBL1PrescalesSetLoader::~TrigDBL1PrescalesSetLoader
virtual ~TrigDBL1PrescalesSetLoader() override
Destructor - cannot be defined here because QueryDefinition is an incomplete type.
extractSporadic.q
list q
Definition: extractSporadic.py:97
TrigDBHelper.h
TrigConf::TrigDBL1PrescalesSetLoader::m_queries
std::map< size_t, QueryDefinition > m_queries
Definition: TrigDBL1PrescalesSetLoader.h:45