63 {
64 o << "================================================================================\n";
65 o << "The program needs to be run with the following specifications:\n" << lineend;
66 o << "TrigConfReadWrite <options>\n";
67 o << "\n";
68 o << "[Global options]\n";
69 o << " -i|--input input [input [input]] ... source of configuration, format see below (mandatory)\n";
70 o << " -2|--comp input [input [input]] ... source of a second configuration for comparison\n";
71 o << " -o|--output r3json|cool [output[;cooldb]] [run] ... output format, name (for cool optional run number)\n";
72 o << " ... absolute output file name must contain '/', cooldb can be appended COMP200|OFLP200\n";
73 o << " -v|--loglevel <string> ... log level [NIL, VERBOSE, DEBUG, INFO, WARNING, ERROR, FATAL, ALWAYS]\n";
74 o << " -l|--log <string> ... name of a log file\n";
75 o << " --jo ... read and write job options where possible\n";
76 o << " --fw ... read ctp firmware\n";
77 o << " -p|--print <int> ... print configuration with detail 0...5 (default 1)\n";
78 o << " -h|--help ... this output\n";
79 o << " --nomerge ... internally don't merge L2 and EF (by default merge is enabled)\n";
80 o << "\n\n";
81 o << "Input can be specified the following\n";
82 o << " -i <TRIGDB_ALIAS>|<TRIGDB_connection> smk[,l1psk,hltpsk,bgsk] ... to read the menu from a trigger db via alias or explicit connection specification (ORACLE or SQlite)\n";
83 o << " -i <COOLDB_ALIAS>|<COOLDB_connection>|cool.db run[,lb] ... to read the menu from COOL for a certain run and possibly LB [file names must end with '.db']\n";
84 o << "\n";
85 o << "The cool dbconnection can be specified as one of the following\n";
86 o << " - via alias : COOLONL_TRIGGER (use COOLONL_TRIGGER/COMP200 for Run 1 data)";
87 o << " - from sqlite : cool.db (use cool.db;COMP200 for Run 1 data)";
88 o << "\n";
89 o << "\n";
90 o << "Input for comparison can be specified the same way, using the '-2' or '--comp' option\n";
91 o << "\n";
92 o << "\n";
93 o << "Output formats can be json or cool. In case a second input is specified for comparison, the output will be on screen or an xml file with the differences\n";
94 o << " -o r3json [<test>] ... will produce Run 3 config files L1PrescalesSet[_<test>].json, BunchGroupSet[_<test>].json, L1Menu[_<test>].json, HLTPrescalesSet[_<test>].json, and HLTMenu[_<test>].json\n";
95 o << " -o cool ... will produce trig_cool.db with cool db instance CONDBR2 and infinite IOV\n";
96 o << " -o cool 200000 ... will produce trig_cool.db with cool db instance CONDBR2 and run number 200000\n";
97 o << " -o cool test [200000] ... will produce trig_cool_test.db with cool db instance CONDBR2 [and run number 200000]\n";
98 o << " -o cool ../test.db [200000] ... will produce ../test.db with cool db instance CONDBR2 [and run number 200000]\n";
99 o << " -o cool 'test;COMP200' [200000] ... will produce Menu_test.db with cool db instance COMP200 [and run number 200000]\n";
100 o << "\n";
101 o << "================================================================================\n";
102}