ATLAS Offline Software
TriggerMenuRW.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 
17 #include "TrigConfData/HLTMenu.h"
18 #include "TrigConfData/L1Menu.h"
22 
23 #include <cstdlib>
24 #include <vector>
25 #include <format> //for format error
26 
27 using namespace std;
28 
29 struct Config {
30 public:
31 
32  std::vector<std::string> knownParameters {
33  "file", "f", "smk", "l1psk", "hltpsk", "bgsk", "db", "crest-db", "crest-server", "crest-api", "write", "w",
34  "Write", "W", "help", "h", "detail", "d", "ctp", "c"
35  };
36 
37  // parameters
38  // input
39  std::vector<std::string> inputFiles {};
40  unsigned int smk { 0 };
41  unsigned int l1psk { 0 };
42  unsigned int hltpsk { 0 };
43  unsigned int bgsk { 0 };
44  std::string dbalias { "TRIGGERDB_RUN3" };
45  std::string crestDb { "" };
46  const std::string crestServerDefault{ "http://crest-04.cern.ch/" };
47  std::string crestServer { crestServerDefault };
48  std::string crestApi { "" };
49  bool doCtp { false }; // flag to read CTP files
50 
51  // output
52  bool write { false }; // flag to enable writing
53  bool writeFromDataStructure { false }; // flag to enable writing of the L1Menu structure (if available)
54  std::string base { "" };
55 
56  // other
57  bool help { false };
58  bool detail { false };
59 
60  // to keep track of configuration errors
61  vector<string> error;
62 
63  // parses the commandline
64  void parseProgramOptions(int argc, char* argv[]);
65 
66  // help
67  void usage();
68 
69 };
70 
71 
72 void Config::usage() {
73 
74  cout << "The program needs to be run with the following specifications:\n\n";
75  cout << "TriggerMenuRW <options>\n";
76  cout << "\n";
77  cout << "[Input options]\n";
78  cout << " -f|--file file1 [file2 [file3 ...]] ... one or multiple json files\n";
79  cout << " --smk smk ... smk \n";
80  cout << " --l1psk l1psk ... the L1 prescale key \n";
81  cout << " --hltpsk hltpsk ... the HLT prescale key \n";
82  cout << " --bgsk bgsk ... the bunchgroup key \n";
83  cout << " --db dbalias ... dbalias for oracle/frontier access (default " << dbalias << ") \n";
84  cout << " --crest-db crestdb ... crest_db for Crest access, if specified Crest will be used (default '') \n";
85  cout << " possible values: CONF_DATA_RUN3, CONF_MC_RUN3, CONF_REPR_RUN3\n";
86  cout << " --crest-server server ... crest server (default " << crestServerDefault << ")\n";
87  cout << " --crest-api version ... crest api version (default taken from CrestApi)";
88  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";
89  cout << "[Output options]\n";
90  cout << " -w|--write [base] ... to write out json files, e.g. L1menu[_<base>].json. base is optional.\n";
91  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";
92  cout << "[Other options]\n";
93  cout << " -h|--help ... this help\n";
94  cout << " -d|--detail ... prints detailed job options\n";
95  cout << "\n\n";
96  cout << "Examples\n";
97  cout << " --file L1menu.json HLTMenu.json ... read L1Menu.json and HLTMenu.json and show some basic statistics\n";
98  cout << " --db TRIGGERDB_RUN3 --smk 3205 ... read the L1 menu, HLT menu, HLT job options, and HLT monitoring groups for SMK 3205\n";
99  cout << " --db TRIGGERDB_RUN3 --smk 3205 -w ... read the information and write DB content directly as json files\n";
100 }
101 
102 void
104 
105  std::string currentParameter("");
106  std::string listofUnknownParameters = "";
107 
108  for(int i=1; i<argc; i++) {
109 
110  std::string currentWord(argv[i]);
111  bool isParam = currentWord[0]=='-'; // string starts with a '-', so it is a parameter name
112 
113  // get the parameter name
114  int firstChar = currentWord.find_first_not_of('-');
115  string paramName = currentWord.substr(firstChar);
116 
117  // check if the parameter is known
118  if ( isParam && std::find(knownParameters.begin(), knownParameters.end(), paramName) == knownParameters.end() ) {
119  listofUnknownParameters += " " + currentWord;
120  continue;
121  }
122 
123  if(isParam) {
124  currentParameter = "";
125  // check the boolean parameters
126  if(paramName == "h" || paramName == "help" ) { help = true; continue; }
127  if(paramName == "d" || paramName == "detail" ) { detail = true; continue; }
128  if(paramName == "w" || paramName == "write" ) { write = true; }
129  if(paramName == "W" || paramName == "Write" ) { writeFromDataStructure = true; }
130  if(paramName == "c" || paramName == "ctp" ) { doCtp = true; }
131  currentParameter = std::move(paramName);
132  continue;
133  }
134 
135  // now treat the parameter values
136 
137  // inputs
138  if(currentParameter == "file" || currentParameter == "f") {
139  inputFiles.push_back(std::move(currentWord));
140  continue;
141  }
142  if(currentParameter == "smk") {
143  smk = stoul(currentWord);
144  continue;
145  }
146  if(currentParameter == "l1psk") {
147  l1psk = stoul(currentWord);
148  continue;
149  }
150  if(currentParameter == "hltpsk") {
151  hltpsk = stoul(currentWord);
152  continue;
153  }
154  if(currentParameter == "bgsk") {
155  bgsk = stoul(currentWord);
156  continue;
157  }
158  if(currentParameter == "db") {
159  dbalias = std::move(currentWord);
160  continue;
161  }
162  if(currentParameter == "crest-db") {
163  crestDb = std::move(currentWord);
164  continue;
165  }
166  if(currentParameter == "crest-server") {
167  crestServer = std::move(currentWord);
168  continue;
169  }
170  if(currentParameter == "crest-api") {
171  crestApi = std::move(currentWord);
172  continue;
173  }
174  // output
175  if(currentParameter == "write" || currentParameter == "w" || currentParameter == "Write" || currentParameter == "W") {
176  base = std::move(currentWord);
177  continue;
178  }
179 
180  }
181 
182  // some sanity checks
183  if ( inputFiles.size() == 0 and smk == 0 and l1psk == 0 and hltpsk == 0 and bgsk == 0 ) {
184  error.push_back("No input specified! Please provide either one of the following: input file(s), smk, l1psk, hltpsk, or bgsk");
185  }
186 
187  if ( listofUnknownParameters.size() > 0 ) {
188  error.push_back( string("Unknown parameter(s):") + listofUnknownParameters);
189  }
190 
191 }
192 
193 namespace {
194  bool
195  writeJsonFile(const TrigConf::DataStructure & ds, const std::string & kind, const Config & cfg) {
196  if( cfg.write ) {
197  std::string filename = kind;
198  if ( cfg.base != "" ) {
199  filename += "_" + cfg.base;
200  }
201  filename += ".json";
202  TrigConf::JsonFileLoader fileLoader;
203  return fileLoader.saveFile(filename, ds);
204  } else if ( cfg.writeFromDataStructure ) {
205  std::string filename = kind;
206  if ( cfg.base != "" ) {
207  filename += "_" + cfg.base;
208  }
209  filename += ".fromDS.json";
210  if ( kind=="L1Menu" ) {
211  TrigConf::JsonFileWriterL1 fileWriter;
212  const auto & l1menu = dynamic_cast<const TrigConf::L1Menu &>(ds);
213  return fileWriter.writeJsonFile(filename, l1menu);
214  } else if ( kind == "HLTMenu") {
215  TrigConf::JsonFileWriterHLT fileWriter;
216  const auto & hltmenu = dynamic_cast<const TrigConf::HLTMenu &>(ds);
217  return fileWriter.writeJsonFile(filename, hltmenu);
218  }
219  }
220  return true;
221  }
222 
223  std::string
224  outputFileName(const std::string & kind, const Config & cfg) {
225  if( ! cfg.write )
226  return "";
227  std::string filename = kind;
228  if ( cfg.base != "" ) {
229  filename += "_" + cfg.base;
230  }
231  filename += ".json";
232  return filename;
233  }
234 
235 }
236 
237 int main(int argc, char** argv) {
238 
239  Config cfg;
240  cfg.parseProgramOptions(argc, argv);
241  if(cfg.help) {
242  cfg.usage();
243  return 0;
244  }
245 
246  if(cfg.error.size()!=0) {
247  for(const string & e: cfg.error)
248  cerr << e << endl;
249  cfg.usage();
250  return 1;
251  }
252 
253  if( cfg.inputFiles.size()>0 ) {
254  // load config from files
255  TrigConf::JsonFileLoader fileLoader;
256  for (const std::string & fn : cfg.inputFiles) {
257  // check if the file is L1 or HLT
258  std::string filetype = fileLoader.getFileType( fn );
259  if(filetype == "l1menu") {
261  fileLoader.loadFile( fn, l1menu);
262  cout << "Loaded L1 menu " << l1menu.name() << " with " << l1menu.size() << " items from " << fn << endl;
263  l1menu.printMenu(cfg.detail);
264  writeJsonFile(l1menu, "L1Menu", cfg);
265  } else if(filetype == "hltmenu" ) {
266  TrigConf::HLTMenu hltmenu;
267  fileLoader.loadFile( fn, hltmenu);
268  cout << "Loaded HLT menu " << hltmenu.name() << " with " << hltmenu.size() << " chains from " << fn << endl;
269  hltmenu.printMenu(cfg.detail);
270  writeJsonFile(hltmenu, "HLTMenu", cfg);
271  } else if(filetype == "l1prescale" ) {
273  fileLoader.loadFile( fn, l1pss);
274  cout << "Loaded L1 prescales set file " << fn << " with " << l1pss.size() << " prescales from " << fn << endl;
275  writeJsonFile(l1pss, "L1PrescalesSet", cfg);
276  } else if(filetype == "hltprescale" ) {
278  fileLoader.loadFile( fn, hltpss);
279  cout << "Loaded HLT prescales set file " << fn << " with " << hltpss.size() << " prescales from " << fn << endl;
280  hltpss.printPrescaleSet(cfg.detail);
281  writeJsonFile(hltpss, "HLTPrescalesSet", cfg);
282  } else if(filetype == "bunchgroupset" ) {
284  fileLoader.loadFile( fn, bgs);
285  cout << "Loaded L1 BunchGroup set file " << fn << " with " << bgs.sizeNonEmpty() << " non-empty bunchgroups from " << fn << endl;
286  bgs.printSummary(cfg.detail);
287  writeJsonFile(bgs, "BunchGroupSet", cfg);
288  } else if(filetype == "joboptions" ) {
290  fileLoader.loadFile( fn, jo);
291  cout << "Loaded job options with " << jo.getObject("properties").getKeys().size() << " properties from " << fn << endl;
292  if( cfg.detail ) {
293  TrigConf::DataStructure ds = jo.getObject("properties");
294  for( const auto& alg : ds.data()) {
295  std::cout << alg.first << std::endl;
296  for( const auto& prop : alg.second ) {
297  std::cout << " " << prop.first << " -> " << prop.second.data() << std::endl;
298  }
299  }
300  }
301  writeJsonFile(jo, "HLTJobOptions", cfg);
302  } else if(filetype == "hltmonitoringsummary" ) {
304  fileLoader.loadFile( fn, mon);
305  cout << "Loaded HLT monnitoring with " << mon.size() << " signatures from " << fn << endl;
306  mon.printMonConfig(cfg.detail);
307  writeJsonFile(mon, "HLTMonitoring", cfg);
308  } else {
309  cerr << "File " << fn << " not recognized as being an L1 or HLT menu or prescale set or bunchgroup set" << endl;
310  }
311  }
312  }
313 
314  if( cfg.smk != 0 && !cfg.doCtp ) {
315  // load config from DB
316  {
317  // db menu loader
318  TrigConf::TrigDBMenuLoader dbloader(cfg.dbalias);
319  if(!cfg.crestDb.empty()) {
320  dbloader.setCrestTrigDB(cfg.crestDb);
321  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
322  }
323 
324  // L1 menu
325  {
327  try {
328  dbloader.loadL1Menu( cfg.smk, l1menu, outputFileName("L1Menu", cfg) );
329  }
330  catch(TrigConf::IOException & ex) {
331  cout << "Could not load L1 menu. An exception occurred: " << ex.what() << endl;
332  }
333  if(l1menu) {
334  cout << "Loaded L1 menu " << l1menu.name() << " with " << l1menu.size() << " items from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
335  if( cfg.detail ) {
336  l1menu.printMenu(true);
337  }
338  }
339  cout << endl;
340  }
341 
342  // HLT menu
343  {
344  TrigConf::HLTMenu hltmenu;
345  try {
346  dbloader.loadHLTMenu( cfg.smk, hltmenu, outputFileName("HLTMenu", cfg));
347  }
348  catch(TrigConf::IOException & ex) {
349  cout << "Could not load HLT menu. An exception occurred: " << ex.what() << endl;
350  }
351  if (hltmenu) {
352  cout << "Loaded HLT menu " << hltmenu.name() << " with " << hltmenu.size() << " chains from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
353  if( cfg.detail ) {
354  hltmenu.printMenu(true);
355  }
356  }
357  cout << endl;
358  }
359  }
360 
361  // Job options
362  {
363  TrigConf::TrigDBJobOptionsLoader dbloader(cfg.dbalias);
364  if(!cfg.crestDb.empty()) {
365  dbloader.setCrestTrigDB(cfg.crestDb);
366  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
367  }
369  try {
370  dbloader.loadJobOptions( cfg.smk, jo, outputFileName("HLTJobOptions", cfg) );
371  }
372  catch(TrigConf::IOException & ex) {
373  cout << "Could not load HLT job options. An exception occurred: " << ex.what() << endl;
374  }
375  if (jo) {
376  cout << "Loaded job options with " << jo.getObject("properties").getKeys().size() << " entries from " << cfg.dbalias << " with SMK " << cfg.smk << endl;
377  if( cfg.detail ) {
378  TrigConf::DataStructure ds = jo.getObject("properties");
379  for( const auto& alg : ds.data()) {
380  std::cout << alg.first << std::endl;
381  for( const auto& prop : alg.second ) {
382  std::cout << " " << prop.first << " -> " << prop.second.data() << std::endl;
383  }
384  }
385  }
386  }
387  cout << endl;
388  }
389 
390  // HLT monitoring groups
391  {
392  TrigConf::TrigDBMonitoringLoader dbloader(cfg.dbalias);
393  if(!cfg.crestDb.empty()) {
394  dbloader.setCrestTrigDB(cfg.crestDb);
395  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
396  }
398  try {
399  dbloader.loadHLTMonitoring( cfg.smk, hltmon, outputFileName("HLTMonitoring", cfg));
400  }
401  catch(TrigConf::IOException & ex) {
402  cout << "Could not load HLT monitoring. An exception occurred: " << ex.what() << endl;
403  }
404  if (hltmon) {
405  cout << "Loaded HLT monitoring with " << hltmon.size() << " signatures rom " << cfg.dbalias << " with SMK " << cfg.smk << endl;
406  if( cfg.detail ) {
407  hltmon.printMonConfig(true);
408  }
409  }
410  cout << endl;
411  }
412 
413  }
414 
415  if( cfg.smk != 0 && cfg.doCtp ) {
416  TrigConf::TrigDBCTPFilesLoader dbloader(cfg.dbalias);
417  TrigConf::L1CTPFiles ctpfiles;
418  try{
419  dbloader.loadHardwareFiles(cfg.smk, ctpfiles, 0x0F, outputFileName("CTPFiles", cfg));
420  } catch (std::format_error & e){
421  cout << " format_error "<<e.what()<<" thrown in TriggerMenuRW.\n";
422  return 1;
423  }
424  ctpfiles.print();
425  }
426 
427  if( cfg.l1psk != 0 ) {
428  // load L1 prescales set from DB
429  TrigConf::TrigDBL1PrescalesSetLoader dbloader(cfg.dbalias);
430  if(!cfg.crestDb.empty()) {
431  dbloader.setCrestTrigDB(cfg.crestDb);
432  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
433  }
435  try {
436  dbloader.loadL1Prescales( cfg.l1psk, l1pss, outputFileName("L1PrescalesSet", cfg) );
437  }
438  catch(TrigConf::IOException & ex) {
439  cout << "Could not load L1 prescales. An exception occurred: " << ex.what() << endl;
440  }
441  if (l1pss) {
442  cout << "Loaded L1 prescales set " << l1pss.name() << " with " << l1pss.size() << " prescales from " << cfg.dbalias << " with L1 PSK " << cfg.l1psk << endl;
443  }
444  }
445 
446  if( cfg.hltpsk != 0 ) {
447  // load L1 prescales set from DB
448  TrigConf::TrigDBHLTPrescalesSetLoader dbloader(cfg.dbalias);
449  if(!cfg.crestDb.empty()) {
450  dbloader.setCrestTrigDB(cfg.crestDb);
451  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
452  }
454  try {
455  dbloader.loadHLTPrescales( cfg.hltpsk, hltpss, outputFileName("HLTPrescalesSet", cfg) );
456  }
457  catch(TrigConf::IOException & ex) {
458  cout << "Could not load HLT prescales. An exception occurred: " << ex.what() << endl;
459  }
460  if (hltpss) {
461  cout << "Loaded HLT prescales set " << hltpss.name() << " with " << hltpss.size() << " prescales from " << cfg.dbalias << " with HLT PSK " << cfg.hltpsk << endl;
462  }
463  }
464 
465  if( cfg.bgsk != 0 ) {
466  // load L1 prescales set from DB
467  TrigConf::TrigDBL1BunchGroupSetLoader dbloader(cfg.dbalias);
468  if(!cfg.crestDb.empty()) {
469  dbloader.setCrestTrigDB(cfg.crestDb);
470  dbloader.setCrestConnection(cfg.crestServer, cfg.crestApi);
471  }
473  try {
474  dbloader.loadBunchGroupSet( cfg.bgsk, bgs, outputFileName("BunchGroupSet", cfg) );
475  }
476  catch(TrigConf::IOException & ex) {
477  cout << "Could not load bunchgroup set. An exception occurred: " << ex.what() << endl;
478  }
479  if (bgs) {
480  cout << "Loaded L1 bunchgroup set " << bgs.name() << " with " << bgs.size() << " bunchgroups from " << cfg.dbalias << " with BGSK " << cfg.bgsk << endl;
481  if( cfg.detail ) {
482  bgs.printSummary(true);
483  }
484  }
485  }
486 
487  return 0;
488 }
TrigDBMonitoringLoader.h
AtlCoolConsole.usage
tuple usage
Definition: AtlCoolConsole.py:442
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.
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
base
std::string base
Definition: hcg.cxx:78
TrigConf::JsonFileWriterHLT
Loader of trigger configurations from Json files.
Definition: JsonFileWriterHLT.h:23
HLTPrescalesSet.h
Config::error
vector< string > error
Definition: TriggerMenuRW.cxx:61
checkxAOD.ds
ds
Definition: Tools/PyUtils/bin/checkxAOD.py:260
Config::usage
void usage()
Definition: TriggerMenuRW.cxx:72
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:106
python.LArRawChannelBuilderCrestConfig.crestServer
crestServer
Definition: LArRawChannelBuilderCrestConfig.py:118
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
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::TrigDBLoader::setCrestConnection
void setCrestConnection(const std::string &server, const std::string &version="")
declare CREST as the source of the configuration An empty crest server makes it use Oracle
Definition: TrigDBLoader.cxx:80
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:25
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:103
python.TrigConfFrontier.dbalias
dbalias
Definition: TrigConfFrontier.py:247
python.getCurrentFolderTag.fn
fn
Definition: getCurrentFolderTag.py:79
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:85
Config::Config
Config(const char *name)
Definition: TrigGlobEffCorrValidation.cxx:142
LArCellNtuple.argv
argv
Definition: LArCellNtuple.py:152
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.
TrigConf::TrigDBLoader::setCrestTrigDB
void setCrestTrigDB(const std::string &crestTrigDB)
set trigger db for the crest connection
Definition: TrigDBLoader.cxx:102
main
int main(int argc, char **argv)
Definition: TriggerMenuRW.cxx:237
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:19
TrigConf::JsonFileWriterHLT::writeJsonFile
bool writeJsonFile(const std::string &filename, const HLTMenu &menu) const
Definition: JsonFileWriterHLT.cxx:49
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
python.CaloAddPedShiftConfig.help
help
Definition: CaloAddPedShiftConfig.py:42
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
RegSelToolConfig.alg
alg
Definition: RegSelToolConfig.py:332
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:25
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:37
plotBeamSpotMon.mon
mon
Definition: plotBeamSpotMon.py:66
TrigConf::TrigDBJobOptionsLoader::loadJobOptions
bool loadJobOptions(unsigned int smk, boost::property_tree::ptree &jobOptions, const std::string &outFileName="") const
Load job options from the Trigger DB into a ptree 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:23
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