ATLAS Offline Software
TriggerMenuRW.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <cstdlib>
6 #include <vector>
7 
18 #include "TrigConfData/HLTMenu.h"
19 #include "TrigConfData/L1Menu.h"
23 
24 using namespace std;
25 
26 struct Config {
27 public:
28 
29  std::vector<std::string> knownParameters {
30  "file", "f", "smk", "l1psk", "hltpsk", "bgsk", "db", "write", "w",
31  "Write", "W", "help", "h", "detail", "d", "ctp", "c"
32  };
33 
34  // parameters
35  // input
36  std::vector<std::string> inputFiles {};
37  unsigned int smk { 0 };
38  unsigned int l1psk { 0 };
39  unsigned int hltpsk { 0 };
40  unsigned int bgsk { 0 };
41  std::string dbalias { "TRIGGERDB_RUN3" };
42  bool doCtp { false }; // flag to read CTP files
43 
44  // output
45  bool write { false }; // flag to enable writing
46  bool writeFromDataStructure { false }; // flag to enable writing of the L1Menu structure (if available)
47  std::string base { "" };
48 
49  // other
50  bool help { false };
51  bool detail { false };
52  // to keep track of configuration errors
53  vector<string> error;
54 
55  // parses the commandline
56  void parseProgramOptions(int argc, char* argv[]);
57 
58  // help
59  void usage();
60 
61 };
62 
63 
64 void Config::usage() {
65 
66  cout << "The program needs to be run with the following specifications:\n\n";
67  cout << "TriggerMenuRW <options>\n";
68  cout << "\n";
69  cout << "[Input options]\n";
70  cout << " -f|--file file1 [file2 [file3 ...]] ... one or multiple json files\n";
71  cout << " --smk smk ... smk \n";
72  cout << " --l1psk l1psk ... the L1 prescale key \n";
73  cout << " --hltpsk hltpsk ... the HLT prescale key \n";
74  cout << " --bgsk bgsk ... the bunchgroup key \n";
75  cout << " --db dbalias ... dbalias (default " << dbalias << ") \n";
76  cout << " -c|--ctp ... if provided together with the SMK and DB then will read only CTP files from the DB and not the rest of the menu\n";
77  cout << "[Output options]\n";
78  cout << " -w|--write [base] ... to write out json files, e.g. L1menu[_<base>].json. base is optional.\n";
79  cout << " -W|--Write [base] ... to write out json files from the internal structure (only for L1Menu), e.g. L1menu[_<base>].json. base is optional.\n";
80  cout << "[Other options]\n";
81  cout << " -h|--help ... this help\n";
82  cout << " -d|--detail ... prints detailed job options\n";
83  cout << "\n\n";
84  cout << "Examples\n";
85  cout << " --file L1menu.json HLTMenu.json ... read L1Menu.json and HLTMenu.json and show some basic statistics\n";
86  cout << " --db TRIGGERDB_RUN3 --smk 3205 ... read the L1 menu, HLT menu, HLT job options, and HLT monitoring groups for SMK 3205\n";
87  cout << " --db TRIGGERDB_RUN3 --smk 3205 -w ... read the information and write DB content directly as json files\n";
88 }
89 
90 void
92 
93  std::string currentParameter("");
94  std::string listofUnknownParameters = "";
95 
96  for(int i=1; i<argc; i++) {
97 
98  std::string currentWord(argv[i]);
99  bool isParam = currentWord[0]=='-'; // string starts with a '-', so it is a parameter name
100 
101  // get the parameter name
102  int firstChar = currentWord.find_first_not_of('-');
103  string paramName = currentWord.substr(firstChar);
104 
105  // check if the parameter is known
106  if ( isParam && std::find(knownParameters.begin(), knownParameters.end(), paramName) == knownParameters.end() ) {
107  listofUnknownParameters += " " + currentWord;
108  continue;
109  }
110 
111  if(isParam) {
112  currentParameter = "";
113  // check the boolean parameters
114  if(paramName == "h" || paramName == "help" ) { help = true; continue; }
115  if(paramName == "d" || paramName == "detail" ) { detail = true; continue; }
116  if(paramName == "w" || paramName == "write" ) { write = true; }
117  if(paramName == "W" || paramName == "Write" ) { writeFromDataStructure = true; }
118  if(paramName == "c" || paramName == "ctp" ) { doCtp = true; }
119  currentParameter = paramName;
120  continue;
121  }
122 
123  // now treat the parameter values
124 
125  // inputs
126  if(currentParameter == "file" || currentParameter == "f") {
127  inputFiles.push_back(currentWord);
128  continue;
129  }
130  if(currentParameter == "smk") {
131  smk = stoul(currentWord);
132  continue;
133  }
134  if(currentParameter == "l1psk") {
135  l1psk = stoul(currentWord);
136  continue;
137  }
138  if(currentParameter == "hltpsk") {
139  hltpsk = stoul(currentWord);
140  continue;
141  }
142  if(currentParameter == "bgsk") {
143  bgsk = stoul(currentWord);
144  continue;
145  }
146  if(currentParameter == "db") {
147  dbalias = currentWord;
148  continue;
149  }
150 
151  // output
152  if(currentParameter == "write" || currentParameter == "w" || currentParameter == "Write" || currentParameter == "W") {
153  base = currentWord;
154  continue;
155  }
156 
157  }
158 
159  // some sanity checks
160  if ( inputFiles.size() == 0 and smk == 0 and l1psk == 0 and hltpsk == 0 and bgsk == 0 ) {
161  error.push_back("No input specified! Please provide either one of the following: input file(s), smk, l1psk, hltpsk, or bgsk");
162  }
163 
164  if ( listofUnknownParameters.size() > 0 ) {
165  error.push_back( string("Unknown parameter(s):") + listofUnknownParameters);
166  }
167 
168 }
169 
170 namespace {
171  bool
172  writeJsonFile(const TrigConf::DataStructure & ds, const std::string & kind, const Config & cfg) {
173  if( cfg.write ) {
174  std::string filename = kind;
175  if ( cfg.base != "" ) {
176  filename += "_" + cfg.base;
177  }
178  filename += ".json";
179  TrigConf::JsonFileLoader fileLoader;
180  return fileLoader.saveFile(filename, ds);
181  } else if ( cfg.writeFromDataStructure ) {
182  std::string filename = kind;
183  if ( cfg.base != "" ) {
184  filename += "_" + cfg.base;
185  }
186  filename += ".fromDS.json";
187  if ( kind=="L1Menu" ) {
188  TrigConf::JsonFileWriterL1 fileWriter;
189  const auto & l1menu = dynamic_cast<const TrigConf::L1Menu &>(ds);
190  return fileWriter.writeJsonFile(filename, l1menu);
191  } else if ( kind == "HLTMenu") {
192  TrigConf::JsonFileWriterHLT fileWriter;
193  const auto & hltmenu = dynamic_cast<const TrigConf::HLTMenu &>(ds);
194  return fileWriter.writeJsonFile(filename, hltmenu);
195  }
196  }
197  return true;
198  }
199 
200  std::string
201  outputFileName(const std::string & kind, const Config & cfg) {
202  if( ! cfg.write )
203  return "";
204  std::string filename = kind;
205  if ( cfg.base != "" ) {
206  filename += "_" + cfg.base;
207  }
208  filename += ".json";
209  return filename;
210  }
211 
212 }
213 
214 int main(int argc, char** argv) {
215 
216  Config cfg;
217  cfg.parseProgramOptions(argc, argv);
218  if(cfg.help) {
219  cfg.usage();
220  return 0;
221  }
222 
223  if(cfg.error.size()!=0) {
224  for(const string & e: cfg.error)
225  cerr << e << endl;
226  cfg.usage();
227  return 1;
228  }
229 
230  if( cfg.inputFiles.size()>0 ) {
231  // load config from files
232  TrigConf::JsonFileLoader fileLoader;
233  for (const std::string & fn : cfg.inputFiles) {
234  // check if the file is L1 or HLT
235  std::string filetype = fileLoader.getFileType( fn );
236  if(filetype == "l1menu") {
238  fileLoader.loadFile( fn, l1menu);
239  cout << "Loaded L1 menu " << l1menu.name() << " with " << l1menu.size() << " items from " << fn << endl;
240  l1menu.printMenu(cfg.detail);
241  writeJsonFile(l1menu, "L1Menu", cfg);
242  } else if(filetype == "hltmenu" ) {
243  TrigConf::HLTMenu hltmenu;
244  fileLoader.loadFile( fn, hltmenu);
245  cout << "Loaded HLT menu " << hltmenu.name() << " with " << hltmenu.size() << " chains from " << fn << endl;
246  hltmenu.printMenu(cfg.detail);
247  writeJsonFile(hltmenu, "HLTMenu", cfg);
248  } else if(filetype == "l1prescale" ) {
250  fileLoader.loadFile( fn, l1pss);
251  cout << "Loaded L1 prescales set file " << fn << " with " << l1pss.size() << " prescales from " << fn << endl;
252  writeJsonFile(l1pss, "L1PrescalesSet", cfg);
253  } else if(filetype == "hltprescale" ) {
255  fileLoader.loadFile( fn, hltpss);
256  cout << "Loaded HLT prescales set file " << fn << " with " << hltpss.size() << " prescales from " << fn << endl;
257  hltpss.printPrescaleSet(cfg.detail);
258  writeJsonFile(hltpss, "HLTPrescalesSet", cfg);
259  } else if(filetype == "bunchgroupset" ) {
261  fileLoader.loadFile( fn, bgs);
262  cout << "Loaded L1 BunchGroup set file " << fn << " with " << bgs.sizeNonEmpty() << " non-empty bunchgroups from " << fn << endl;
263  bgs.printSummary(cfg.detail);
264  writeJsonFile(bgs, "BunchGroupSet", cfg);
265  } else if(filetype == "joboptions" ) {
267  fileLoader.loadFile( fn, jo);
268  cout << "Loaded job options with " << jo.getObject("properties").getKeys().size() << " properties from " << fn << endl;
269  if( cfg.detail ) {
270  TrigConf::DataStructure ds = jo.getObject("properties");
271  for( const auto& alg : ds.data()) {
272  std::cout << alg.first << std::endl;
273  for( const auto& prop : alg.second ) {
274  std::cout << " " << prop.first << " -> " << prop.second.data() << std::endl;
275  }
276  }
277  }
278  writeJsonFile(jo, "HLTJobOptions", cfg);
279  } else if(filetype == "hltmonitoringsummary" ) {
281  fileLoader.loadFile( fn, mon);
282  cout << "Loaded HLT monnitoring with " << mon.size() << " signatures from " << fn << endl;
283  mon.printMonConfig(cfg.detail);
284  writeJsonFile(mon, "HLTMonitoring", cfg);
285  } else {
286  cerr << "File " << fn << " not recognized as being an L1 or HLT menu or prescale set or bunchgroup set" << endl;
287  }
288  }
289  }
290 
291  if( cfg.smk != 0 && !cfg.doCtp ) {
292  // load config from DB
293 
294  // db menu loader
295  TrigConf::TrigDBMenuLoader dbloader(cfg.dbalias);
296 
297  // L1 menu
298  {
300  try {
301  dbloader.loadL1Menu( cfg.smk, l1menu, outputFileName("L1Menu", cfg) );
302  }
303  catch(TrigConf::IOException & ex) {
304  cout << "Could not load L1 menu. An exception occurred: " << ex.what() << endl;
305  }
306  if(l1menu) {
307  cout << "Loaded L1 menu " << l1menu.name() << " with " << l1menu.size() << " items from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
308  if( cfg.detail ) {
309  l1menu.printMenu(true);
310  }
311  }
312  cout << endl;
313  }
314 
315  // HLT menu
316  {
317  TrigConf::HLTMenu hltmenu;
318  try {
319  dbloader.loadHLTMenu( cfg.smk, hltmenu, outputFileName("HLTMenu", cfg));
320  }
321  catch(TrigConf::IOException & ex) {
322  cout << "Could not load HLT menu. An exception occurred: " << ex.what() << endl;
323  }
324  if (hltmenu) {
325  cout << "Loaded HLT menu " << hltmenu.name() << " with " << hltmenu.size() << " chains from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
326  if( cfg.detail ) {
327  hltmenu.printMenu(true);
328  }
329  }
330  cout << endl;
331  }
332 
333  // Job options
334  {
335  TrigConf::TrigDBJobOptionsLoader jodbloader(cfg.dbalias);
337  try {
338  jodbloader.loadJobOptions( cfg.smk, jo, outputFileName("HLTJobOptions", cfg) );
339  }
340  catch(TrigConf::IOException & ex) {
341  cout << "Could not load HLT job options. An exception occurred: " << ex.what() << endl;
342  }
343  if (jo) {
344  cout << "Loaded job options with " << jo.getObject("properties").getKeys().size() << " entries from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
345  if( cfg.detail ) {
346  TrigConf::DataStructure ds = jo.getObject("properties");
347  for( const auto& alg : ds.data()) {
348  std::cout << alg.first << std::endl;
349  for( const auto& prop : alg.second ) {
350  std::cout << " " << prop.first << " -> " << prop.second.data() << std::endl;
351  }
352  }
353  }
354  }
355  cout << endl;
356  }
357 
358  // HLT monitoring groups
359  {
360  TrigConf::TrigDBMonitoringLoader mgdbloader(cfg.dbalias);
362  try {
363  mgdbloader.loadHLTMonitoring( cfg.smk, hltmon, outputFileName("HLTMonitoring", cfg));
364  }
365  catch(TrigConf::IOException & ex) {
366  cout << "Could not load HLT monitoring. An exception occurred: " << ex.what() << endl;
367  }
368  if (hltmon) {
369  cout << "Loaded HLT monitoring with " << hltmon.size() << " signatures rom " << cfg.dbalias << " with SMK " << cfg.smk << endl;
370  if( cfg.detail ) {
371  hltmon.printMonConfig(true);
372  }
373  }
374  cout << endl;
375  }
376 
377  }
378 
379  if( cfg.smk != 0 && cfg.doCtp ) {
380  TrigConf::TrigDBCTPFilesLoader dbloader(cfg.dbalias);
381  TrigConf::L1CTPFiles ctpfiles;
382  dbloader.loadHardwareFiles(cfg.smk, ctpfiles, 0x0F, outputFileName("CTPFiles", cfg));
383  ctpfiles.print();
384  }
385 
386  if( cfg.l1psk != 0 ) {
387  // load L1 prescales set from DB
388  TrigConf::TrigDBL1PrescalesSetLoader dbloader(cfg.dbalias);
390  try {
391  dbloader.loadL1Prescales( cfg.l1psk, l1pss, outputFileName("L1PrescalesSet", cfg) );
392  }
393  catch(TrigConf::IOException & ex) {
394  cout << "Could not load L1 prescales. An exception occurred: " << ex.what() << endl;
395  }
396  if (l1pss) {
397  cout << "Loaded L1 prescales set " << l1pss.name() << " with " << l1pss.size() << " prescales from " << cfg.dbalias << " with L1 PSK " << cfg.l1psk << endl;
398  }
399  }
400 
401  if( cfg.hltpsk != 0 ) {
402  // load L1 prescales set from DB
403  TrigConf::TrigDBHLTPrescalesSetLoader dbloader(cfg.dbalias);
405  try {
406  dbloader.loadHLTPrescales( cfg.hltpsk, hltpss, outputFileName("HLTPrescalesSet", cfg) );
407  }
408  catch(TrigConf::IOException & ex) {
409  cout << "Could not load HLT prescales. An exception occurred: " << ex.what() << endl;
410  }
411  if (hltpss) {
412  cout << "Loaded HLT prescales set " << hltpss.name() << " with " << hltpss.size() << " prescales from " << cfg.dbalias << " with HLT PSK " << cfg.hltpsk << endl;
413  }
414  }
415 
416  if( cfg.bgsk != 0 ) {
417  // load L1 prescales set from DB
418  TrigConf::TrigDBL1BunchGroupSetLoader dbloader(cfg.dbalias);
420  try {
421  dbloader.loadBunchGroupSet( cfg.bgsk, bgs, outputFileName("BunchGroupSet", cfg) );
422  }
423  catch(TrigConf::IOException & ex) {
424  cout << "Could not load bunchgroup set. An exception occurred: " << ex.what() << endl;
425  }
426  if (bgs) {
427  cout << "Loaded L1 bunchgroup set " << bgs.name() << " with " << bgs.size() << " bunchgroups from " << cfg.dbalias << " with BGSK " << cfg.bgsk << endl;
428  if( cfg.detail ) {
429  bgs.printSummary(true);
430  }
431  }
432  }
433 
434  return 0;
435 }
TrigDBMonitoringLoader.h
AtlCoolConsole.usage
tuple usage
Definition: AtlCoolConsole.py:443
TrigConf::DataStructure::getObject
DataStructure getObject(const std::string &pathToChild, bool ignoreIfMissing=false) const
Access to configuration object.
Definition: DataStructure.cxx:207
TrigDBCTPFilesLoader.h
Loader class for Trigger configuration (L1 hardware files) from the Trigger DB.
base
std::string base
Definition: hcg.cxx:78
TrigConf::JsonFileWriterHLT
Loader of trigger configurations from Json files.
Definition: JsonFileWriterHLT.h:22
HLTPrescalesSet.h
Config::error
vector< string > error
Definition: TriggerMenuRW.cxx:53
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:257
SGout2dot.alg
alg
Definition: SGout2dot.py:243
Config::usage
void usage()
Definition: TriggerMenuRW.cxx:64
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::HLTMenu::printMenu
void printMenu(bool full=false) const
print overview of L1 Menu
Definition: HLTMenu.cxx:96
JsonFileWriterL1.h
TrigDBL1BunchGroupSetLoader.h
Loader class for Trigger configuration (L1 prescales set) from the Trigger DB.
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
TrigConf::HLTMenu
HLT menu configuration.
Definition: HLTMenu.h:21
TrigConf::JsonFileLoader::loadFile
bool loadFile(const std::string &filename, boost::property_tree::ptree &data, const std::string &pathToChild="") const
Load content of json file into a ptree.
Definition: JsonFileLoader.cxx:45
RunEBWeightsComputation.smk
smk
Definition: RunEBWeightsComputation.py:87
TrigConf::TrigDBMenuLoader::loadHLTMenu
bool loadHLTMenu(unsigned int smk, boost::property_tree::ptree &hltmenu, const std::string &outFileName="") const
Load HLT menu content from the Trigger DB into two ptrees for a given SuperMasterKey (SMK)
Definition: TrigDBMenuLoader.cxx:123
Epos_Base_Fragment.inputFiles
string inputFiles
Definition: Epos_Base_Fragment.py:18
TrigDBJobOptionsLoader.h
Loader class for Trigger configuration from the Trigger DB.
detail
Definition: extract_histogram_tag.cxx:14
TrigConf::HLTMonitoring::size
std::size_t size() const
Accessor to the number of HLT monitoring chains.
Definition: HLTMonitoring.cxx:82
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
L1PrescalesSet.h
LArCellConditions.argv
argv
Definition: LArCellConditions.py:112
TrigConf::DataStructure::getKeys
std::vector< std::string > getKeys() const
Access to the keys of an DataStructure which presents a dictionary.
Definition: DataStructure.cxx:250
TrigConf::DataStructure::name
virtual const std::string & name() const final
Definition: DataStructure.cxx:109
TrigConf::TrigDBHLTPrescalesSetLoader::loadHLTPrescales
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)
Definition: TrigDBHLTPrescalesSetLoader.cxx:28
TrigConf::JsonFileWriterL1::writeJsonFile
bool writeJsonFile(const std::string &filename, const L1Menu &l1menu) const
Definition: JsonFileWriterL1.cxx:21
TrigConf::L1CTPFiles
L1 menu configuration.
Definition: L1CTPFiles.h:29
TrigConf::HLTPrescalesSet::size
std::size_t size() const
number of HLT prescales
Definition: HLTPrescalesSet.cxx:69
JsonFileWriterHLT.h
Config::parseProgramOptions
void parseProgramOptions(int argc, char *argv[])
Definition: TriggerMenuRW.cxx:91
python.TrigConfFrontier.dbalias
dbalias
Definition: TrigConfFrontier.py:247
python.getCurrentFolderTag.fn
fn
Definition: getCurrentFolderTag.py:65
python.CaloScaleNoiseConfig.help
help
Definition: CaloScaleNoiseConfig.py:76
TrigConf::JsonFileLoader::saveFile
bool saveFile(const std::string &filename, const DataStructure &data) const
Save content of DataStructure (underlying ptree) to a file.
Definition: JsonFileLoader.cxx:99
TrigDBL1PrescalesSetLoader.h
Loader class for Trigger configuration (L1 prescales set) from the Trigger DB.
lumiFormat.i
int i
Definition: lumiFormat.py:92
Config::Config
Config(const char *name)
Definition: TrigGlobEffCorrValidation.cxx:142
TrigConf::L1BunchGroupSet::size
std::size_t size() const
Accessor to the number of defined bunchgroups.
Definition: L1BunchGroupSet.cxx:128
TrigConf::TrigDBMenuLoader::loadL1Menu
bool loadL1Menu(unsigned int smk, boost::property_tree::ptree &l1menu, const std::string &outFileName="") const
Load L1 menu content from the Trigger DB into a ptree for a given SuperMasterKey (SMK)
Definition: TrigDBMenuLoader.cxx:93
python.ByteStreamConfig.write
def write
Definition: Event/ByteStreamCnvSvc/python/ByteStreamConfig.py:248
TrigDBHLTPrescalesSetLoader.h
Loader class for Trigger configuration (HLT prescales set) from the Trigger DB.
main
int main(int argc, char **argv)
Definition: TriggerMenuRW.cxx:214
TrigConf::L1BunchGroupSet::sizeNonEmpty
std::size_t sizeNonEmpty() const
Accessor to the number of non-empty bunchgroups.
Definition: L1BunchGroupSet.cxx:133
DQHistogramMergeRegExp.argc
argc
Definition: DQHistogramMergeRegExp.py:20
TrigConf::JsonFileWriterHLT::writeJsonFile
bool writeJsonFile(const std::string &filename, const HLTMenu &menu) const
Definition: JsonFileWriterHLT.cxx:48
TrigConf::JsonFileLoader::getFileType
std::string getFileType(const std::string &filename) const
Checks the trigger level of a given json file.
Definition: JsonFileLoader.cxx:114
TrigConf::L1BunchGroupSet
L1 board configuration.
Definition: L1BunchGroupSet.h:71
TrigConf::TrigDBMonitoringLoader
Loader of trigger menu configurations from the database.
Definition: TrigDBMonitoringLoader.h:25
TrigConf::L1PrescalesSet
L1 menu configuration.
Definition: L1PrescalesSet.h:19
TrigConf::L1BunchGroupSet::printSummary
void printSummary(bool detailed=false) const
print a more or less detailed summary
Definition: L1BunchGroupSet.cxx:150
TrigConf::HLTMenu::size
std::size_t size() const
Accessor to the number of HLT chains.
Definition: HLTMenu.cxx:35
TrigConf::HLTPrescalesSet::printPrescaleSet
void printPrescaleSet(bool full) const
Definition: HLTPrescalesSet.cxx:116
L1BunchGroupSet.h
TrigConf::TrigDBJobOptionsLoader
Loader of trigger configurations from Json files.
Definition: TrigDBJobOptionsLoader.h:28
TrigConf::TrigDBL1BunchGroupSetLoader::loadBunchGroupSet
bool loadBunchGroupSet(unsigned int bgsk, L1BunchGroupSet &bgs, const std::string &outFileName="") const
Load content from the Trigger DB into an L1PrescalesSet for a given L1PrescaleKey (L1PSK)
Definition: TrigDBL1BunchGroupSetLoader.cxx:28
TrigConf::TrigDBCTPFilesLoader
Loader of trigger configurations from Json files.
Definition: TrigDBCTPFilesLoader.h:30
WriteCaloSwCorrections.cfg
cfg
Definition: WriteCaloSwCorrections.py:23
TrigConf::DataStructure
Base class for Trigger configuration data and wrapper around underlying representation.
Definition: DataStructure.h:37
TrigConf::TrigDBCTPFilesLoader::loadHardwareFiles
bool loadHardwareFiles(unsigned int smk, L1CTPFiles &ctpfiles, uint8_t loadMask=0x0F, const std::string &outFileName="") const
Load content from the Trigger DB into an L1CTPFiles object for a given super master key (SMK)
Definition: TrigDBCTPFilesLoader.cxx:106
TrigConf::HLTMonitoring
HLT monitoring configuration.
Definition: HLTMonitoring.h:27
TrigConf::JsonFileWriterL1
Loader of trigger configurations from Json files.
Definition: JsonFileWriterL1.h:23
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
TrigConf::TrigDBMonitoringLoader::loadHLTMonitoring
bool loadHLTMonitoring(unsigned int smk, boost::property_tree::ptree &hltmonitoring, const std::string &outFileName="") const
Load HLT menu content from the Trigger DB into two ptrees for a given SuperMasterKey (SMK)
Definition: TrigDBMonitoringLoader.cxx:38
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:67
TrigConf::TrigDBJobOptionsLoader::loadJobOptions
bool loadJobOptions(unsigned int smk, boost::property_tree::ptree &jobOptions, const std::string &outFileName="") const
Load content from the Trigger DB into two ptrees for a given SuperMasterKey (SMK)
Definition: TrigDBJobOptionsLoader.cxx:51
TrigConf::HLTMonitoring::printMonConfig
void printMonConfig(bool full=false) const
print overview of L1 Menu
Definition: HLTMonitoring.cxx:104
TrigConf::L1PrescalesSet::size
std::size_t size() const
number of L1 prescales
Definition: L1PrescalesSet.cxx:38
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
CaloCellTimeCorrFiller.filename
filename
Definition: CaloCellTimeCorrFiller.py:24
TrigConf::IOException::what
virtual const char * what() const noexcept
Definition: Trigger/TrigConfiguration/TrigConfIO/src/Exceptions.cxx:7
JsonFileLoader.h
Loader class for Trigger configuration from Json.
xAOD::l1psk
l1psk
Definition: TriggerMenu_v1.cxx:29
HLTMenu.h
TrigConf::TrigDBHLTPrescalesSetLoader
Loader of trigger configurations from Json files.
Definition: TrigDBHLTPrescalesSetLoader.h:23
TrigConf::JsonFileLoader
Loader of trigger configurations from Json files.
Definition: JsonFileLoader.h:25
TrigConf::IOException
Definition: Trigger/TrigConfiguration/TrigConfIO/TrigConfIO/Exceptions.h:13
L1Menu.h
TrigConf::TrigDBMenuLoader
Loader of trigger menu configurations from the database.
Definition: TrigDBMenuLoader.h:30
TrigConf::HLTPrescalesSet
HLT menu configuration.
Definition: HLTPrescalesSet.h:19
error
Definition: IImpactPoint3dEstimator.h:70
AthenaPoolExample_Copy.outputFileName
string outputFileName
Definition: AthenaPoolExample_Copy.py:40
TrigConf::TrigDBL1PrescalesSetLoader
Loader of trigger configurations from Json files.
Definition: TrigDBL1PrescalesSetLoader.h:24
TrigConf::TrigDBL1BunchGroupSetLoader
Loader of trigger configurations from Json files.
Definition: TrigDBL1BunchGroupSetLoader.h:24
TrigConf::L1CTPFiles::print
void print() const
Definition: L1CTPFiles.cxx:25
TrigDBMenuLoader.h