File indexing completed on 2024-04-06 12:22:27
0001 #include "L1Trigger/L1TCommon/src/Parameter.cc"
0002 #include "L1Trigger/L1TCommon/src/Mask.cc"
0003 #include "L1Trigger/L1TCommon/src/XmlConfigParser.cc"
0004 #include "L1Trigger/L1TCommon/src/TriggerSystem.cc"
0005
0006 #include <iostream>
0007 #include <fstream>
0008 #include <string>
0009 #include <list>
0010 #include <map>
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 using namespace std;
0023
0024 int main(int argc, char *argv[]){
0025 if( argc < 3 ) return 0;
0026
0027
0028 list<string> sequence;
0029 map<string,string> xmlPayload;
0030 for(int p=1; p<argc; p++){
0031
0032 ifstream input( argv[p] );
0033 if( !input ){ cout << "Cannot open " << argv[p] << " file" << endl; return 0; }
0034 sequence.push_back( argv[p] );
0035
0036 size_t nLinesRead=0;
0037
0038 while( !input.eof() ){
0039 string tmp;
0040 getline( input, tmp, '\n' );
0041 xmlPayload[ argv[p] ].append( tmp );
0042 nLinesRead++;
0043 }
0044
0045 cout << argv[p] << ": read " << nLinesRead << " lines" << endl;
0046 input.close();
0047 }
0048
0049
0050 XmlConfigParser xmlReader;
0051 l1t::TriggerSystem ts;
0052
0053 cout << "Parsing " << sequence.front() << endl;
0054 if( false ){
0055 xmlReader.readDOMFromString( xmlPayload[sequence.front()] );
0056 xmlReader.readRootElement ( ts, "calol1" );
0057 } else {
0058 ts.addProcessor("processor0", "processors","-1","-1");
0059 ts.addProcessor("processor1", "processors","-1","-2");
0060 ts.addProcessor("processor2", "processors","-1","-3");
0061 ts.addProcessor("processor3", "processors","-1","-4");
0062 ts.addProcessor("processor4", "processors","-1","-5");
0063 ts.addProcessor("processor5", "processors","-1","-6");
0064 ts.addProcessor("processor6", "processors","-1","-7");
0065 ts.addProcessor("processor7", "processors","-1","-8");
0066 ts.addProcessor("processor8", "processors","-1","-9");
0067 ts.addProcessor("processor9", "processors","-1","-10");
0068 ts.addProcessor("processor10", "processors","-1","-11");
0069 ts.addProcessor("processor11", "processors","-1","-12");
0070 ts.addProcessor("processor12", "processors","-1","-13");
0071 ts.addProcessor("processor13", "processors","-1","-14");
0072 ts.addProcessor("processor14", "processors","-1","-15");
0073 ts.addProcessor("processor15", "processors","-1","-16");
0074 ts.addProcessor("processor16", "processors","-1","-17");
0075 ts.addProcessor("processor17", "processors","-1","-18");
0076
0077 ts.addProcessor("CTP7_Phi0", "processors","-2","-0");
0078 ts.addProcessor("CTP7_Phi1", "processors","-2","-1");
0079 ts.addProcessor("CTP7_Phi2", "processors","-2","-2");
0080 ts.addProcessor("CTP7_Phi3", "processors","-2","-3");
0081 ts.addProcessor("CTP7_Phi4", "processors","-2","-4");
0082 ts.addProcessor("CTP7_Phi5", "processors","-2","-5");
0083 ts.addProcessor("CTP7_Phi6", "processors","-2","-6");
0084 ts.addProcessor("CTP7_Phi7", "processors","-2","-7");
0085 ts.addProcessor("CTP7_Phi8", "processors","-2","-8");
0086 ts.addProcessor("CTP7_Phi9", "processors","-2","-9");
0087 ts.addProcessor("CTP7_Phi10","processors","-2","-10");
0088 ts.addProcessor("CTP7_Phi11","processors","-2","-11");
0089 ts.addProcessor("CTP7_Phi12","processors","-2","-12");
0090 ts.addProcessor("CTP7_Phi13","processors","-2","-13");
0091 ts.addProcessor("CTP7_Phi14","processors","-2","-14");
0092 ts.addProcessor("CTP7_Phi15","processors","-2","-15");
0093 ts.addProcessor("CTP7_Phi16","processors","-2","-16");
0094 }
0095
0096 cout << "Parsing " << sequence.back() << endl;
0097 xmlReader.readDOMFromString( xmlPayload[sequence.back()] );
0098 xmlReader.readRootElement ( ts, "calol1" );
0099
0100 ts.setConfigured();
0101
0102
0103
0104
0105 map<string, l1t::Parameter> conf = ts.getParameters("CTP7_Phi15");
0106
0107
0108 string layer1ECalScaleFactors= conf["layer1ECalScaleFactors"].getValueAsStr();
0109 string layer1HCalScaleFactors= conf["layer1HCalScaleFactors"].getValueAsStr();
0110 string layer1HFScaleFactors = conf["layer1HFScaleFactors"].getValueAsStr();
0111 string layer1ECalScaleETBins = conf["layer1ECalScaleETBins"].getValueAsStr();
0112 string layer1HCalScaleETBins = conf["layer1HCalScaleETBins"].getValueAsStr();
0113 string layer1HFScaleETBins = conf["layer1HFScaleETBins"].getValueAsStr();
0114
0115 cout << "layer1ECalScaleFactors=" << layer1ECalScaleFactors << endl;
0116 cout << "layer1HCalScaleFactors=" << layer1HCalScaleFactors << endl;
0117 cout << "layer1HFScaleFactors =" << layer1HFScaleFactors << endl;
0118 cout << "layer1ECalScaleETBins =" << layer1ECalScaleETBins << endl;
0119 cout << "layer1HCalScaleETBins =" << layer1HCalScaleETBins << endl;
0120 cout << "layer1HFScaleETBins =" << layer1HFScaleETBins << endl;
0121
0122 return 0;
0123 }
0124