11 (
const std::string& ParameterName,
12 dqm_core::test::DummyAlgorithmConfig &
config,
13 const std::string& algorithmname,
14 const std::string& histogramname,
15 const std::string& reffilename,
16 const std::string& refhistogramname,
18 const std::string& regionname) :
36 m_myfile<<
"<attr name=\"InputDataSource\" type=\"string\">\"\"</attr>\n";
37 m_myfile<<
"<attr name=\"Weight\" type=\"float\">1</attr>\n";
38 m_myfile<<
"<attr name=\"Action\" type=\"string\">\"\"</attr>\n";
39 m_myfile<<
"<rel name=\"Algorithm\">\"DQAlgorithm\" \"SimpleSummary\"</rel>\n";
40 m_myfile<<
"<rel name=\"AlgorithmParameters\" num=\"0\"></rel>\n";
41 m_myfile<<
"<rel name=\"References\" num=\"0\"></rel>\n";
42 m_myfile<<
"<rel name=\"GreenThresholds\" num=\"0\"></rel>\n";
43 m_myfile<<
"<rel name=\"RedThresholds\" num=\"0\"></rel>\n";
44 m_myfile<<
"<rel name=\"DQRegions\" num=\"0\"></rel>\n";
45 m_myfile<<
"<rel name=\"DQParameters\" num=\"1\">\n";
55 m_myfile<<
"<attr name=\"Parameters\" type=\"string\">\"-n "+
m_regionname+
" -p ${TDAQ_PARTITION}\"</attr>\n";
56 m_myfile<<
"<attr name=\"RestartParameters\" type=\"string\">\"-n "+
m_regionname+
" -p ${TDAQ_PARTITION}\"</attr>\n";
57 m_myfile<<
"<attr name=\"ControlledByOnline\" type=\"bool\">1</attr>\n";
58 m_myfile<<
"<attr name=\"IfDies\" type=\"enum\">\"Restart\"</attr>\n";
59 m_myfile<<
"<attr name=\"IfFailed\" type=\"enum\">\"Restart\"</attr>\n";
60 m_myfile<<
"<attr name=\"StartAt\" type=\"enum\">\"Boot\"</attr>\n";
61 m_myfile<<
"<attr name=\"StopAt\" type=\"enum\">\"Shutdown\"</attr>\n";
62 m_myfile<<
"<attr name=\"InitTimeout\" type=\"u32\">0</attr>\n";
63 m_myfile<<
"<attr name=\"StartIn\" type=\"string\">\"\"</attr>\n";
64 m_myfile<<
"<attr name=\"InputDevice\" type=\"string\">\"\"</attr>\n";
65 m_myfile<<
"<attr name=\"Logging\" type=\"bool\">1</attr>\n";
66 m_myfile<<
"<rel name=\"InitializationDependsFrom\" num=\"0\">\n";
68 m_myfile<<
"<rel name=\"ShutdownDependsFrom\" num=\"0\"></rel>\n";
69 m_myfile<<
"<rel name=\"Program\">\"Binary\" \"dqmf_agent\"</rel>\n";
70 m_myfile<<
"<rel name=\"ExplicitTag\">\"\" \"\"</rel>\n";
71 m_myfile<<
"<rel name=\"Uses\" num=\"0\"></rel>\n";
72 m_myfile<<
"<rel name=\"ProcessEnvironment\" num=\"0\">\n";
74 m_myfile<<
"<rel name=\"RunsOn\">\"\" \"\"</rel>\n";
75 m_myfile<<
"<rel name=\"DQRegions\" num=\"1\">\n";
86 int objsize=
object.size();
88sprintf(line,
"<rel name=\"%sThresholds\" num=\"%d\">\n",
Name.c_str(),objsize);
90 std::map<std::string,double>::const_iterator iter;
92 for (iter=
object.begin();iter!=
object.end();++iter){
94 m_red_id.push_back(
Name+
"Thresh_"+ParameterName+
"_"+iter->first);
96 m_green_id.push_back(
Name+
"Thresh_"+ParameterName+
"_"+iter->first);
99 m_myfile <<
" \"DQThreshold\" \""+
Name+
"Thresh_"+ParameterName+
"_"+iter->first+
"\"\n";
109 std::map<std::string,double>::iterator iter;
112 std::map<std::string,double> thresh;
113 std::vector<std::string> id;
114 for (
int i=0; i<2;++i){
123 for (iter=thresh.begin();iter!=thresh.end();++iter){
124 m_myfile<<
"<obj class=\"DQThreshold\" id=\""+
id[
count]+
"\">\n";
125 m_myfile<<
" <attr name=\"Name\" type=\"string\">\""+iter->first+
"\"</attr>\n";
126 sprintf(line,
" <attr name=\"Value\" type=\"double\">%4.2f</attr>\n</obj>\n\n",iter->second);
143 m_myfile<<
" <attr name=\"Name\" type=\"string\">\""+param.first+
"\"</attr>\n";
144 sprintf(pline,
" <attr name=\"Value\" type=\"double\" num=\"1\">%4.2f</attr>\n</obj>\n\n",param.second);
151 m_myfile<<
" <attr name=\"Name\" type=\"string\">\""+param.first+
"\"</attr>\n";
152 m_myfile<<
" <attr name=\"Value\" type=\"string\" num=\"1\">"+param.second+
"</attr>\n";
170 is.open (
"../share/oks-xml-header.txt", ios::in );
173 is.seekg (0, ios::end);
175 is.seekg (0, ios::beg);
178 buffer =
new char [
length];
198 char weightline [500];
199 sprintf(weightline,
"<attr name=\"Weight\" type=\"float\">%f</attr>\n",
m_weight);
202 m_myfile <<
"<attr name=\"Action\" type=\"string\">\"\"</attr>\n";
210 char paramsline [500];
211 sprintf(paramsline,
"<rel name=\"AlgorithmParameters\" num=\"%d\">\n", paramsize);
214 std::map<std::string,double>::const_iterator iter;
227 m_myfile<<
"<rel name=\"References\" num=\"0\"> </rel>\n";
246 m_myfile<<
"<attr name=\"ExternalConditionName\" type=\"string\">\"\"</attr>\n";
247 m_myfile<<
"<attr name=\"ExternalConditionValue\" type=\"double\">0</attr>\n";
int count(std::string s, const std::string ®x)
count how many occurances of a regx are in a string