ATLAS Offline Software
CoolFix.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 //
7 // NAME: TrigConfCoolFix.cxx
8 // PACKAGE: TrigConfStorage
9 //
10 // AUTHOR: J.Stelzer (CERN) Joerg.Stelzer@cern.ch
11 // CREATED: 17 Mar 2013
12 //
13 // PURPOSE:
14 //
15 // This standalone application is designed to read and write the
16 // trigger configuration (L1+HLT) from DB,XML,COOL and to XML or COOL
17 // for test purposes
18 //
20 
21 #include "TrigConfBase/MsgStream.h"
22 
27 
33 
34 #include "boost/lexical_cast.hpp"
35 #include "boost/algorithm/string.hpp"
36 
37 #include "TrigConfCoolWriter.h"
38 
39 #include <iostream>
40 #include <fstream>
41 #include <string>
42 #include <memory>
43 #include <ctime>
44 #include <map>
45 #include <vector>
46 #include <sys/stat.h>
47 
48 using namespace std;
49 using namespace TrigConf;
50 using boost::lexical_cast;
51 
52 
53 void printhelp(std::ostream & o, std::ostream& (*lineend) ( std::ostream& os )) {
54  o << "================================================================================\n";
55  o << "The program needs to be run with the following specifications:\n" << lineend;
56  o << "TrigConfReadWrite <options>\n";
57  o << "\n";
58  o << "[Global options]\n";
59  o << " -c|--cooldb <cooldb> ... cool database and run number (default is COOLONL_TRIGGER/CONDBR2)\n";
60  o << " e.g. COOLONL_TRIGGER/CONDBR2 or testcool.db \n";
61  o << " -r|--run <run> [<lb>] [<lbend>] ... run number (mandatory) and optionally lb (range)\n";
62  o << "\n";
63  o << " --triggerdb <triggerdb> ... trigger database as source of information (default is TRIGGERDBR2)\n";
64  o << " --smk <smk> ... SMK to load to cool (specify when needed)\n";
65  o << " --bgsk <bgsk> ... Bunchgroupset key to load to cool (specify when needed)\n";
66  o << " --l1psk <l1psk> ... L1PSK to load to cool (specify when needed)\n";
67  o << " --hltpsk <int> ... hltpsk to load to cool (specify when needed)\n";
68  o << " --release <string> ... release, e.g. 20.2.3.1 (specify when configkeys is to be uploaded)\n";
69  o << "\n";
70  o << " -f|--fix ... when specified it fixes the database. Only run after a test without it\n";
71  o << " -e|--extended ... allows fixing of any multiversion folder\n";
72  o << "\n";
73  o << " -v|--loglevel <level> ... log level [NIL, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL, ALWAYS]\n";
74  o << " -p|--print <detail> ... print configuration with detail 0...5 (default 1)\n";
75  o << " -h|--help ... this output\n";
76  o << "\n";
77  o << "Input database can be specified the following ways: COOLONL_TRIGGER/CONDBR2 or trigconf.db/CONDBR2\n";
78  o << "\n";
79  o << "Instructions at https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerConfigurationCOOLArchiver\n";
80  o << "================================================================================\n";
81 }
82 
83 struct JobConfig {
84  // input parameters
85  string cooldb{"COOLONL_TRIGGER/CONDBR2"};
86  unsigned int run {0};
87  unsigned int lb {0};
88  unsigned int lbend {0};
89  bool openended {true};
90  // fix the database
91  bool fix {false};
92  bool extendedSelection {false}; // if true also allows fixing of MV folders
93  // trigger db
94  string triggerdb {"TRIGGERDBR2"};
95  int smk {0};
96  int bgsk {0};
97  int l1psk {0};
98  int hltpsk {0};
99  string release {""};
100  // other
101  bool help {false};
102  int printlevel {-1};
104  // error strings from option parsing
105  vector<string> error;
106  // resolved cool connection
107  string coolConnection {""};
108  int parseProgramOptions(int argc, char* argv[]);
109  void PrintSetup();
110 };
111 
112 
113 
114 
115 int
117  std::string currentPar("");
118  std::string listofUnknownParameters = "";
119  uint runargpos(0);
120  for(int i=1; i<argc; i++) {
121  string currInput(argv[i]);
122  int fchar = currInput.find_first_not_of('-');
123  string stripped = currInput.substr(fchar);
124  bool isParam = (fchar!=0); // string starts with a '-', so it is a parameter name
125 
126  if(isParam)
127  if( ! (stripped == "c" || stripped == "cooldb" ||
128  stripped == "r" || stripped == "run" ||
129  stripped == "l" || stripped == "log" ||
130  stripped == "p" || stripped == "print" ||
131  stripped == "f" || stripped == "fix" ||
132  stripped == "e" || stripped == "extended" ||
133  stripped == "triggerdb" ||
134  stripped == "release" ||
135  stripped == "h" || stripped == "help" ||
136  stripped == "v" || stripped == "loglevel") ) {
137  listofUnknownParameters += " " + currInput;
138  continue;
139  }
140 
141  if(isParam) {
142  currentPar = "";
143  if(stripped == "h" || stripped == "help" ) { help = true; continue; }
144  if(stripped == "f" || stripped == "fix") { fix = true; continue; }
145  if(stripped == "e" || stripped == "extended") { extendedSelection = true; continue; }
146  currentPar = stripped;
147  } else {
148  if(currentPar == "c" || currentPar == "cooldb") { cooldb = stripped; currentPar=""; continue; }
149  if(currentPar == "r" || currentPar == "run") {
150  unsigned int val = boost::lexical_cast<unsigned int,string>(stripped);
151  switch(runargpos) {
152  case 0:
153  run = val;
154  break;
155  case 1:
156  lb = val;
157  break;
158  case 2:
159  lbend = val;
160  openended = false;
161  break;
162  }
163  runargpos++;
164  continue;
165  }
166  if(currentPar == "triggerdb") { triggerdb = stripped; continue; }
167  if(currentPar == "release") { release = stripped; continue; }
168  if(currentPar == "p" || currentPar == "print") { printlevel = boost::lexical_cast<int,string>(stripped); currentPar=""; continue; }
169  if(currentPar == "v" || currentPar == "loglevel") {
170  if("NIL" == stripped ) { outputlevel = MSGTC::NIL; }
171  else if("VERBOSE" == stripped ) { outputlevel = MSGTC::VERBOSE; }
172  else if("DEBUG" == stripped ) { outputlevel = MSGTC::DEBUG; }
173  else if("INFO" == stripped ) { outputlevel = MSGTC::INFO; }
174  else if("WARNING" == stripped ) { outputlevel = MSGTC::WARNING; }
175  else if("ERROR" == stripped ) { outputlevel = MSGTC::ERROR; }
176  else if("FATAL" == stripped ) { outputlevel = MSGTC::FATAL; }
177  else if("ALWAYS" == stripped ) { outputlevel = MSGTC::ALWAYS; }
178  else {
179  error.push_back("Unknown output level: " + stripped + ". Must be one of NIL, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL, ALWAYS");
180  }
181  currentPar="";
182  continue;
183  }
184  }
185  }
186  if(listofUnknownParameters!="")
187  error.push_back("Unknown parameter(s): " + listofUnknownParameters);
188 
189  if(run==0)
190  error.push_back("No run specified, use '--run <run>' option");
191 
192 
193  {
194  string db = cooldb;
195  string dbname = "CONDBR2";
196  size_t slashpos = cooldb.find('/');
197  if(slashpos != string::npos) {
198  db = cooldb.substr(0,slashpos);
199  dbname = cooldb.substr(slashpos+1);
200  }
201  if(db.find('.') != string::npos) {
202  coolConnection = "sqlite://;schema="+db+";dbname=" + dbname;
203  } else {
204  coolConnection = db + "/" + dbname;
205  }
206  }
207 
208  if(help) {
209  printhelp(cout, endl);
210  return 0;
211  }
212  if(error.size()!=0) {
213  for(const string& e: error)
214  cerr << e << endl;
215  printhelp(cout, endl);
216  return 1;
217  }
218 
219  return -1;
220 }
221 
222 
223 
224 void
226  cout << "========================================" << endl;
227  cout << "JOB SETUP: " << endl;
228  cout << "----------" << endl;
229  cout << " Run : " << run << endl;
230  cout << " LB : " << lb << " - " << lbend << endl;
231  cout << " Cool DB : " << coolConnection << endl;
232  cout << " Trigger database : " << triggerdb << endl;
233  cout << " Fix flag : " << (fix ? "yes" : "no") << endl;
234 
235  if( printlevel>=0)
236  cout << " Print menu detail : " << printlevel << endl;
237  cout << "========================================" << endl;
238 
239 }
240 
241 template<typename T>
242 void
243 readKeyFromPrompt( const std::string & prompt, T & key) {
244  string input("");
245  cout << prompt; cin >> input;
246  try {
247  key = boost::lexical_cast<T, string>(input);
248  }
249  catch(...) {
250  cout << input << " is not a valid input" << endl;
251  }
252 }
253 
254 
255 
256 
257 int main( int argc, char* argv[] ) {
258 
259  /***************************************
260  *
261  * Getting the program parameters
262  *
263  ***************************************/
264  JobConfig gConfig;
265  int retCode = gConfig.parseProgramOptions(argc, argv);
266  if(retCode>=0)
267  return retCode;
268 
269  gConfig.PrintSetup();
270 
271  /*----------------------------
272  *
273  * Read information from COOL
274  * and display it
275  *
276  *---------------------------*/
277 
278  TrigConfCoolWriter * coolReader = new TrigConfCoolWriter( gConfig.coolConnection );
279 
280  int displayMode = gConfig.fix ? ( gConfig.extendedSelection ? 2 : 1 ) : 0;
281 
282  vector<string> fixableFolders = coolReader->checkPayloadSize( gConfig.run, gConfig.lb, displayMode, gConfig.openended, gConfig.lbend );
283 
284  if( ! gConfig.fix ) {
285  delete coolReader;
286  return 0;
287  }
288 
289  if(fixableFolders.size()==0) {
290  cout << endl << "All folders are properly filled. Exiting ..." << endl;
291  return 0; // exit the program
292  }
293 
294  /*----------------------------
295  *
296  * Select which folders should
297  * be fixed
298  *
299  *---------------------------*/
300 
301  set<unsigned int> selectForFixing;
302 
303  string selection="";
304  while(selection != "f" && selection != "0") {
305  // print
306  cout << endl << " 0 ... exit" << endl;
307  int idx=0;
308  for(const string & f : fixableFolders) {
309  if(selectForFixing.count(idx)>0) {
310  cout << " * " << ++idx << " ... " << f << endl;
311  } else {
312  cout << " " << ++idx << " ... " << f << endl;
313  }
314  }
315  cout << endl << " a ... select/deselect all" << endl;
316  cout << endl << " e ... " << (gConfig.extendedSelection ? "disallow" : "allow") << " multiversion folder selection (clears selection)" << endl;
317  cout << endl << " f ... fix now" << endl;
318  cout << endl << endl << "Select/deselect folder to fix or other option : "; cin >> selection;
319 
320  try {
321  if(selection=="a") {
322  // select all
323  bool allSelected = (fixableFolders.size() == selectForFixing.size());
324  if(allSelected) {
325  selectForFixing.clear();
326  } else {
327  for(unsigned int selInd = 0; selInd<fixableFolders.size();selInd++)
328  selectForFixing.insert(selInd);
329  }
330  } else if(selection=="e") {
331 
332  gConfig.extendedSelection = !gConfig.extendedSelection;
333 
334  fixableFolders = coolReader->checkPayloadSize( gConfig.run, gConfig.lb, gConfig.extendedSelection ? 2 : 1, gConfig.openended, gConfig.lbend );
335 
336  selectForFixing.clear();
337 
338  } else {
339  unsigned int selInd = boost::lexical_cast<unsigned int,string>(selection) - 1;
340  if(selectForFixing.count(selInd)) {
341  selectForFixing.erase(selInd);
342  } else {
343  selectForFixing.insert(selInd);
344  }
345  }
346  }
347  catch(...){}
348 
349  }
350 
351  delete coolReader;
352 
353 
354  if(selection=="0") {
355  cout << endl << "Exiting ..." << endl;
356  return 0; // exit the program
357  }
358 
359  if(selectForFixing.empty()) {
360  cout << endl << "Nothing selected. Exiting ..." << endl;
361  return 0; // exit the program
362  }
363 
364  vector<string> foldersToFix;
365  for(unsigned int idx=0; idx!=fixableFolders.size(); idx++) {
366  if(selectForFixing.count(idx)>0)
367  foldersToFix.push_back(fixableFolders[idx]);
368  }
369 
370  // printout which folders were selected
371  cout << endl << "Folders for fixing:";
372  for(const string & f : foldersToFix)
373  cout << " " << f;
374  cout << endl;
375 
376 
377  // check which information we need from the database
378  bool loadL1(false), loadHLT(false), loadBGSK(false), loadL1PSK(false), loadHLTPSK(false), saveConfigSource(false);
379  for(const string & folderToFix : foldersToFix) {
380 
381  loadL1 |=
382  ( folderToFix == "/TRIGGER/LVL1/Menu") ||
383  ( folderToFix == "/TRIGGER/LVL1/ItemDef") ||
384  ( folderToFix == "/TRIGGER/LVL1/Thresholds") ||
385  ( folderToFix == "/TRIGGER/LVL1/CTPCoreInputMapping") ||
386  ( folderToFix == "/TRIGGER/LVL1/BunchGroupDescription");
387 
388  loadHLT |=
389  ( folderToFix == "/TRIGGER/HLT/HltConfigKeys") ||
390  ( folderToFix == "/TRIGGER/HLT/Menu") ||
391  ( folderToFix == "/TRIGGER/HLT/Groups");
392 
393  loadBGSK |=
394  ( folderToFix == "/TRIGGER/LVL1/BunchGroupKey") ||
395  ( folderToFix == "/TRIGGER/LVL1/BunchGroupContent") ||
396  ( folderToFix == "/TRIGGER/LVL1/BunchGroupDescription");
397 
398  loadL1PSK |=
399  ( folderToFix == "/TRIGGER/LVL1/Lvl1ConfigKey") ||
400  ( folderToFix == "/TRIGGER/LVL1/Prescales");
401 
402  loadHLTPSK |=
403  ( folderToFix == "/TRIGGER/HLT/PrescaleKey") ||
404  ( folderToFix == "/TRIGGER/HLT/Prescales");
405 
406  saveConfigSource |=
407  ( folderToFix == "/TRIGGER/HLT/HltConfigKeys");
408  }
409 
410 
411 
412  if( (loadL1 || loadHLT) && gConfig.smk==0)
413  readKeyFromPrompt("Please specify Supermaster key : ", gConfig.smk);
414 
415  if( loadBGSK && gConfig.bgsk==0)
416  readKeyFromPrompt("Please specify Bunchgroupset key : ", gConfig.bgsk );
417 
418  if( loadL1PSK && gConfig.l1psk==0)
419  readKeyFromPrompt("Please specify L1 Prescaleset key : ", gConfig.l1psk );
420 
421  if( loadHLTPSK && gConfig.hltpsk==0) {
422  string prompt = "Please specify HLT Prescaleset key";
423  if(gConfig.openended) {
424  prompt += " (starting at LB " + lexical_cast<string,int>(gConfig.lb) + "): ";
425  } else {
426  prompt += " (for LB " + lexical_cast<string,int>(gConfig.lb) + " - " + std::to_string(gConfig.lbend) + "): ";
427  }
428  readKeyFromPrompt( prompt, gConfig.hltpsk );
429  }
430 
431  if( saveConfigSource && gConfig.release=="")
432  readKeyFromPrompt("Please specify the HLT release : ", gConfig.release );
433 
434 
435  CTPConfig * ctpConfig(0);
436  BunchGroupSet * bgs(0);
437  HLTFrame * hltFrame(0);
438  PrescaleSet * l1pss(0);
439  HLTPrescaleSet * hltpss(0);
440 
441  {
442  unique_ptr<StorageMgr> sm(new StorageMgr(gConfig.triggerdb, "", "", cout));
443 
444  ctpConfig = new TrigConf::CTPConfig();
445  if(loadL1) {
446  ctpConfig->setSMK( gConfig.smk );
447  sm->menuLoader().setEnv(IMenuLoader::CTPOnl);
448  cout << endl << endl << "Retrieving Lvl1 CTP configuration" << endl;
449  sm->masterTableLoader().setLevel(gConfig.outputlevel);
450  sm->masterTableLoader().load(*ctpConfig);
451  if( gConfig.printlevel>=0)
452  ctpConfig->print(" ",gConfig.printlevel);
453  }
454 
455  if(loadHLT) {
456  cout << endl << endl << "Retrieving HLT menu configuration" << endl;
457  hltFrame = new HLTFrame();
458  hltFrame->setSMK( gConfig.smk );
459  sm->hltFrameLoader().load(*hltFrame);
460  if( gConfig.printlevel>=0)
461  hltFrame->print(" ",gConfig.printlevel);
462  }
463 
464  if( loadBGSK ) {
465  cout << endl << endl << "Retrieving Lvl1 Bunchgroup set configuration" << endl;
466  bgs = new BunchGroupSet();
467  bgs->setId(gConfig.bgsk);
468  sm->bunchGroupSetLoader().load(*bgs);
469  if( gConfig.printlevel>=0)
470  bgs->print(" ",gConfig.printlevel);
471  }
472 
473  if( loadL1PSK ) {
474  cout << endl << endl << "Retrieving L1 prescales" << endl;
475  l1pss = new PrescaleSet();
476  l1pss->setId(gConfig.l1psk);
477  sm->prescaleSetLoader().load(ctpConfig->ctpVersion(), *l1pss);
478  if( gConfig.printlevel>=0)
479  l1pss->print(" ",gConfig.printlevel);
480  }
481 
482  if( loadHLTPSK ) {
483  cout << endl << endl << "Retrieving HLT prescales" << endl;
484  hltpss = new HLTPrescaleSet();
485  hltpss->setId(gConfig.hltpsk);
486  sm->hltPrescaleSetLoader().load(*hltpss);
487  if( gConfig.printlevel>=0)
488  hltpss->print(" ",gConfig.printlevel);
489  }
490  }
491 
492 
493  /********************************************************************************
494  *
495  * Writing to COOL
496  *
497  *******************************************************************************/
498 
499  cout << "Writing cool to destination " << gConfig.coolConnection << endl;
500  TrigConfCoolWriter * coolWriter = new TrigConfCoolWriter( gConfig.coolConnection );
501 
502  ValidityRange vr(gConfig.run);
503 
504  if(gConfig.openended) {
505  vr = ValidityRange(gConfig.run, gConfig.lb);
506  } else {
507  cool::ValidityKey since(gConfig.run); since <<= 32; since += gConfig.lb;
508  cool::ValidityKey until(gConfig.run); until <<= 32; until += gConfig.lbend+1;
510  }
511 
512 
516  {
517 
518  bool doWrite(false);
519  for(const string & folderToFix : foldersToFix) {
520  if( folderToFix == "/TRIGGER/LVL1/BunchGroupKey" ||
521  folderToFix == "/TRIGGER/LVL1/BunchGroupContent") {
522  coolWriter->addWriteFolder( folderToFix );
523  doWrite = true;
524  }
525  }
526  if(loadBGSK && doWrite) {
527  coolWriter->writeL1BunchGroupLBPayload( vr, bgs->id(), *bgs);
528  }
529  coolWriter->clearWriteFolder();
530 
531  for(const string & folderToFix : foldersToFix) {
532  if( folderToFix == "/TRIGGER/LVL1/BunchGroupDescription") {
533  if(ctpConfig && bgs) {
534  coolWriter->writeL1BunchGroupRunPayload( vr,
535  ctpConfig->menu(),
536  *bgs);
537  }
538  }
539  }
540 
541  }
542 
546  {
547 
548  bool doWrite(false);
549  for(const string & folderToFix : foldersToFix) {
550  if( folderToFix == "/TRIGGER/LVL1/Lvl1ConfigKey" ||
551  folderToFix == "/TRIGGER/LVL1/Prescales") {
552  coolWriter->addWriteFolder( folderToFix );
553  doWrite = true;
554  }
555  }
556  if(loadL1PSK && doWrite) {
557  coolWriter->writeL1PrescalePayload( vr.since(), vr.until(), l1pss->id() , *l1pss);
558  }
559  coolWriter->clearWriteFolder();
560 
561 
562  }
563 
564 
565 
569  {
570 
571  bool doWrite(false);
572  for(const string & folderToFix : foldersToFix) {
573  if( folderToFix == "/TRIGGER/HLT/PrescaleKey" ||
574  folderToFix == "/TRIGGER/HLT/Prescales") {
575  coolWriter->addWriteFolder( folderToFix );
576  doWrite = true;
577  }
578  }
579  if(hltpss && doWrite) {
580  coolWriter->writeHltPrescalePayload( vr.since(), vr.until(), *hltpss);
581  }
582  coolWriter->clearWriteFolder();
583  }
584 
585 
589  {
590  bool doWrite(false);
591  for(const string & folderToFix : foldersToFix) {
592  if( folderToFix == "/TRIGGER/LVL1/Menu" ||
593  folderToFix == "/TRIGGER/LVL1/ItemDef" ||
594  folderToFix == "/TRIGGER/LVL1/Thresholds" ||
595  folderToFix == "/TRIGGER/LVL1/CTPCoreInputMapping") {
596  coolWriter->addWriteFolder( folderToFix );
597  doWrite = true;
598  }
599  }
600  if(ctpConfig && doWrite) {
601  coolWriter->writeL1MenuPayload( ValidityRange(gConfig.run), ctpConfig->menu());
602  }
603  coolWriter->clearWriteFolder();
604  }
605 
606 
607 
611  {
612  bool doWrite(false);
613  for(const string & folderToFix : foldersToFix) {
614  if( folderToFix == "/TRIGGER/HLT/Menu" ||
615  folderToFix == "/TRIGGER/HLT/Groups" ||
616  folderToFix == "/TRIGGER/HLT/HltConfigKeys" ) {
617  coolWriter->addWriteFolder( folderToFix );
618  doWrite = true;
619  }
620  }
621 
622  if(hltFrame && doWrite) {
623  string configSource = "TRIGGERDBR2," + gConfig.release + ",AtlasP1HLT";
624 
625  coolWriter->writeHLTPayload( ValidityRange(gConfig.run), *hltFrame, configSource);
626  }
627  coolWriter->clearWriteFolder();
628  }
629 
630 
631  delete ctpConfig;
632  delete hltFrame;
633  delete bgs;
634  delete l1pss;
635  delete hltpss;
636 
637 }
IStorageMgr.h
TrigConf::BunchGroupSet
Definition: BunchGroupSet.h:19
JobConfig::error
vector< string > error
Definition: CoolFix.cxx:105
CTPConfig.h
PrescaleSet.h
CaloNoise_fillDB.dbname
dbname
Definition: CaloNoise_fillDB.py:43
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
TrigConf::StorageMgr::hltPrescaleSetLoader
IHLTPrescaleSetLoader & hltPrescaleSetLoader()
Definition: StorageMgr.cxx:235
TrigConf::PrescaleSet
Definition: PrescaleSet.h:22
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
JobConfig::PrintSetup
void PrintSetup()
Definition: CoolFix.cxx:225
TrigConf::StorageMgr::hltFrameLoader
virtual IHLTFrameLoader & hltFrameLoader() override
Definition: StorageMgr.cxx:225
TrigConf::PrescaleSet::print
virtual void print(const std::string &indent="", unsigned int detail=1) const override
Definition: PrescaleSet.cxx:197
RunEBWeightsComputation.smk
smk
Definition: RunEBWeightsComputation.py:87
TrigConf::CTPConfig::ctpVersion
unsigned int ctpVersion() const
Definition: CTPConfig.h:33
TrigConf::StorageMgr::menuLoader
virtual IMenuLoader & menuLoader() override
Definition: StorageMgr.cxx:120
TrigConf::TrigConfCoolWriter::checkPayloadSize
std::vector< std::string > checkPayloadSize(unsigned int run, unsigned int lb, int displayMode, bool openend, unsigned int lbend)
Definition: TrigConfCoolWriter.cxx:1704
TrigConf::IHLTPrescaleSetLoader::load
virtual bool load(HLTPrescaleSet &hltpss)=0
CaloCondBlobAlgs_fillNoiseFromASCII.db
db
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:43
TrigConf::HLTPrescaleSet::print
void print(const std::string &indent="", unsigned int detail=1) const override
print the prescale set
Definition: HLTPrescaleSet.cxx:105
python.Constants.ERROR
int ERROR
Definition: Control/AthenaCommon/python/Constants.py:18
TrigConf::IMasterTableLoader::load
virtual bool load(ThresholdConfig &thrcfg)=0
Load the LVL1 trigger thresholds from the configuration source.
JobConfig::bgsk
int bgsk
Definition: CoolFix.cxx:96
JobConfig::lbend
unsigned int lbend
Definition: CoolFix.cxx:88
MsgStream.h
MsgStream for TrigConf classes.
LArCellConditions.argv
argv
Definition: LArCellConditions.py:112
JobConfig::outputlevel
MSGTC::Level outputlevel
Definition: CoolFix.cxx:103
TrigConf::TrigConfCoolWriter::writeL1MenuPayload
void writeL1MenuPayload(ValidityRange vr, const TrigConf::Menu &lvl1Menu)
Writing L1 run-wise configuration information to the COOL database.
Definition: TrigConfCoolWriter.cxx:746
TrigConf::IPrescaleSetLoader::load
virtual bool load(unsigned int ctpVersion, PrescaleSet &data)=0
JobConfig::release
string release
Definition: CoolFix.cxx:99
TrigConf::StorageMgr
Database Storage Manager, controls the database session and the different loader classes for DB acces...
Definition: StorageMgr.h:23
main
int main(int argc, char *argv[])
Definition: CoolFix.cxx:257
dq_defect_copy_defect_database.since
def since
Definition: dq_defect_copy_defect_database.py:54
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
dq_defect_copy_defect_database.until
def until
Definition: dq_defect_copy_defect_database.py:55
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
TrigConfCoolWriter.h
JobConfig::run
unsigned int run
Definition: CoolFix.cxx:86
TrigConf::MSGTC::Level
Level
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:21
python.BunchSpacingUtils.lb
lb
Definition: BunchSpacingUtils.py:88
JobConfig
Definition: CoolFix.cxx:83
python.CaloScaleNoiseConfig.help
help
Definition: CaloScaleNoiseConfig.py:76
TrigConf::MSGTC::ALWAYS
@ ALWAYS
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:29
TrigConf::TrigConfCoolWriter::clearWriteFolder
void clearWriteFolder()
Definition: TrigConfCoolWriter.h:387
StorageMgr.h
lumiFormat.i
int i
Definition: lumiFormat.py:92
TrigConf::TrigConfData::setSMK
void setSMK(int id)
Definition: TrigConfData.h:28
TrigConf::TrigConfCoolWriter::addWriteFolder
void addWriteFolder(const std::string &fname)
Definition: TrigConfCoolWriter.h:378
TrigConf::TrigConfCoolWriter::writeL1BunchGroupRunPayload
void writeL1BunchGroupRunPayload(ValidityRange vr, const Menu &lvl1Menu, const BunchGroupSet &bgs)
Writing run-wise L1 bunch group names and item to bunch group mapping to COOL.
Definition: TrigConfCoolWriter.cxx:945
JobConfig::hltpsk
int hltpsk
Definition: CoolFix.cxx:98
JobConfig::fix
bool fix
Definition: CoolFix.cxx:91
TrigConf::TrigConfCoolWriter::writeL1BunchGroupLBPayload
void writeL1BunchGroupLBPayload(const RunRangeVec &runRanges, unsigned int bgKey, const BunchGroupSet &bgs)
Writing LB-wise L1 bunch group definition to the COOL database.
Definition: TrigConfCoolWriter.cxx:979
JobConfig::extendedSelection
bool extendedSelection
Definition: CoolFix.cxx:92
TrigConf::HLTFrame::print
void print(const std::string &indent="", unsigned int detail=1) const override
print method
Definition: HLTFrame.cxx:86
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
DBLoader.h
JobConfig::printlevel
int printlevel
Definition: CoolFix.cxx:102
JobConfig::lb
unsigned int lb
Definition: CoolFix.cxx:87
TrigConf::ValidityRange
Definition: TrigConfCoolWriter.h:39
TrigConf::StorageMgr::bunchGroupSetLoader
virtual IBunchGroupSetLoader & bunchGroupSetLoader() override
Definition: StorageMgr.cxx:206
TrigConf::ILoader::setLevel
virtual void setLevel(MSGTC::Level lvl)=0
Load the configuration data from the configuration source.
run
Definition: run.py:1
DQHistogramMergeRegExp.argc
argc
Definition: DQHistogramMergeRegExp.py:20
JobConfig::openended
bool openended
Definition: CoolFix.cxx:89
python.Constants.WARNING
int WARNING
Definition: Control/AthenaCommon/python/Constants.py:17
TrigConf::TrigConfData::setId
void setId(unsigned int id)
Definition: TrigConfData.h:29
TrigConf::HLTPrescaleSet
HLT chain configuration information.
Definition: HLTPrescaleSet.h:31
selection
std::string selection
Definition: fbtTestBasics.cxx:73
TrigConf::TrigConfCoolWriter::writeHltPrescalePayload
void writeHltPrescalePayload(unsigned int runNumber, unsigned int lumiblockNumber, const TrigConf::HLTPrescaleSet &pss)
Writing luminosityblock-wise configuration information the COOL database.
Definition: TrigConfCoolWriter.cxx:1040
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
BunchGroupSet.h
TrigConf::StorageMgr::masterTableLoader
virtual IMasterTableLoader & masterTableLoader() override
Definition: StorageMgr.cxx:115
readKeyFromPrompt
void readKeyFromPrompt(const std::string &prompt, T &key)
Definition: CoolFix.cxx:243
TrigConf::IBunchGroupSetLoader::load
virtual bool load(BunchGroupSet &data)=0
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
JobConfig::smk
int smk
Definition: CoolFix.cxx:95
TrigConf::TrigConfData::id
unsigned int id() const
Definition: TrigConfData.h:21
ActsTrk::to_string
std::string to_string(const DetectorType &type)
Definition: GeometryDefs.h:34
HLTFrame.h
TrigConf::IMenuLoader::setEnv
virtual void setEnv(ENV env)=0
LArCellConditions.prompt
string prompt
Definition: LArCellConditions.py:71
TrigConf::BunchGroupSet::print
virtual void print(const std::string &indent="", unsigned int detail=1) const override
Definition: BunchGroupSet.cxx:50
HLTPrescaleSet.h
TrigConf::HLTFrame
The HLT trigger menu,.
Definition: HLTFrame.h:33
DiTauMassTools::MaxHistStrategyV2::e
e
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:26
TrigConf::TrigConfCoolWriter
Reading/Writing of trigger configuration data from/to COOL.
Definition: TrigConfCoolWriter.h:95
TrigConf::TrigConfCoolWriter::writeHLTPayload
void writeHLTPayload(ValidityRange vr, const HLTFrame &hltFrame, const std::string &configSource)
Definition: TrigConfCoolWriter.cxx:326
python.Constants.INFO
int INFO
Definition: Control/AthenaCommon/python/Constants.py:16
TrigConf::CTPConfig::menu
const Menu & menu() const
Definition: CTPConfig.h:38
Pythia8_RapidityOrderMPI.val
val
Definition: Pythia8_RapidityOrderMPI.py:14
DEBUG
#define DEBUG
Definition: page_access.h:11
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
TrigConf::CTPConfig
Definition: CTPConfig.h:27
xAOD::l1psk
l1psk
Definition: TriggerMenu_v1.cxx:29
JobConfig::triggerdb
string triggerdb
Definition: CoolFix.cxx:94
JobConfig::coolConnection
string coolConnection
Definition: CoolFix.cxx:107
TrigConf::IHLTFrameLoader::load
virtual bool load(HLTFrame &data)=0
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
TrigConf::MSGTC::NIL
@ NIL
Definition: Trigger/TrigConfiguration/TrigConfBase/TrigConfBase/MsgStream.h:22
python.StandardJetMods.vr
vr
Definition: StandardJetMods.py:276
TrigConf::CTPConfig::print
virtual void print(const std::string &indent="", unsigned int detail=1) const override
Definition: CTPConfig.cxx:93
JobConfig::l1psk
int l1psk
Definition: CoolFix.cxx:97
JobConfig::parseProgramOptions
int parseProgramOptions(int argc, char *argv[])
Definition: CoolFix.cxx:116
error
Definition: IImpactPoint3dEstimator.h:70
printhelp
void printhelp(std::ostream &o, std::ostream &(*lineend)(std::ostream &os))
Definition: CoolFix.cxx:53
TrigConf::TrigConfCoolWriter::writeL1PrescalePayload
void writeL1PrescalePayload(unsigned int runNumber, unsigned int lumiblockNumber, unsigned int lvl1PrescaleKey, const TrigConf::PrescaleSet &prescale)
Writing luminosityblock-wise configuration information the COOL database.
Definition: TrigConfCoolWriter.cxx:1187
IHLTFrameLoader.h
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
TrigConf::StorageMgr::prescaleSetLoader
virtual IPrescaleSetLoader & prescaleSetLoader() override
Definition: StorageMgr.cxx:191
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37