18 string multiItems(
const vector<string> & subDetectors,
const string & item)
21 if( !subDetectors.empty() ) {
23 vector<string>::const_iterator subDet = subDetectors.begin();
24 multiItems.append(*subDet+
"@"+item);
26 for( ; subDet != subDetectors.end(); ++subDet ) {
27 multiItems.append(
","+*subDet+
"@"+item);
38 const int Start,
const int End,
const int nRuns )
41 string condition =
"";
43 string blackList =
"109468";
47 string siStripTracker =
"268435456";
48 vector<string> subDetectors;
49 subDetectors.push_back(
"369098752");
50 subDetectors.push_back(
"436207616");
52 subDetectors.push_back(
"402661376");
53 subDetectors.push_back(
"402669568");
55 subDetectors.push_back(
"470024192");
56 subDetectors.push_back(
"470286336");
60 vector<string> ItemsForIntegration;
61 ItemsForIntegration.push_back(
"TotalNumberOfClusters_OnTrack_entries");
68 makeTrend.
setDB(dbName,tagName,
"/afs/cern.ch/cms/DB/conddb");
80 config.push_back(Trend(
multiItems(subDetectors,
"Summary_TotalNumberOfClusters_OnTrack@mean"),
"OnTrackClusters_mean.gif", 0,
81 condition+
"",
"", Start, End, nRuns, 0 ));
82 config.push_back(Trend(
multiItems(subDetectors,
"Summary_TotalNumberOfClusters_OnTrack@entries"),
"OnTrackClusters_entries.gif", 0,
83 condition+
"&& 369098752@Summary_TotalNumberOfClusters_OnTrack@entries > 0",
"", Start, End, nRuns, 0 ));
84 config.push_back(Trend(
multiItems(subDetectors,
"Summary_TotalNumberOfClusters_OffTrack@mean"),
"TotalNumberOfClusters_OffTrack_mean.gif", 0,
85 condition+
"&& 369098752@Summary_TotalNumberOfClusters_OffTrack@mean > 0",
"", Start, End, nRuns, 0, 1000 ));
86 config.push_back(Trend(
multiItems(subDetectors,
"Summary_TotalNumberOfClusters_OffTrack@entries"),
"TotalNumberOfClusters_OffTrack_entries.gif", 0,
87 condition+
"&& 369098752@Summary_TotalNumberOfClusters_OffTrack@entries > 0",
"", Start, End, nRuns, 0 ));
88 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterChargeCorr_OnTrack@landauPeak"),
"ClusterChargeCorr_OnTrack_landau.gif", 0,
89 condition+
"&& 369098752@Summary_ClusterChargeCorr_OnTrack@entries > 10000",
"", Start, End, nRuns, 0 ));
90 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterCharge_OffTrack@mean"),
"ClusterCharge_OffTrack_mean.gif", 0,
91 condition+
"&& 369098752@Summary_ClusterCharge_OffTrack@entries > 10000",
"", Start, End, nRuns, 0 ));
92 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterCharge_OffTrack@landauPeak"),
"ClusterCharge_OffTrack_landau.gif", 0,
93 condition+
"&& 369098752@Summary_ClusterCharge_OffTrack@entries > 10000",
"", Start, End, nRuns, 0 ));
94 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterNoise_OnTrack@gaussMean"),
"ClusterNoise_OnTrack_gauss.gif", 0,
95 condition+
"&& 369098752@Summary_ClusterNoise_OnTrack@entries > 10000",
"", Start, End, nRuns, 0 ));
96 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterNoise_OffTrack@gaussMean"),
"ClusterNoise_OffTrack_gauss.gif", 0,
97 condition+
"&& 369098752@Summary_ClusterNoise_OffTrack@entries > 10000",
"", Start, End, nRuns, 0, 8 ));
98 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterStoNCorr_OnTrack@landauPeak"),
"ClusterStoNCorr_OnTrack_landauPeak.gif", 0,
99 condition+
"&& 369098752@Summary_ClusterStoNCorr_OnTrack@landauPeak > 0",
"", Start, End, nRuns, 0 ));
100 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterStoNCorr_OnTrack@mean"),
"ClusterStoNCorr_OnTrack_mean.gif", 0,
101 condition+
"&& 369098752@Summary_ClusterStoNCorr_OnTrack@mean > 0",
"", Start, End, nRuns, 0 ));
102 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterStoN_OffTrack@landauPeak"),
"ClusterStoN_OffTrack_landauPeak.gif", 0,
103 condition+
"&& 369098752@Summary_ClusterStoN_OffTrack@entries > 10000",
"", Start, End, nRuns, 0, 60 ));
104 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterStoN_OffTrack@mean"),
"ClusterStoN_OffTrack_mean.gif", 0,
105 condition+
"&& 369098752@Summary_ClusterStoN_OffTrack@entries > 10000",
"", Start, End, nRuns, 0, 80 ));
106 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterWidth_OnTrack@mean"),
"ClusterWidth_OnTrack_mean.gif", 0,
107 condition+
"&& 369098752@Summary_ClusterWidth_OnTrack@mean > 0",
"", Start, End, nRuns, 0 ));
108 config.push_back(Trend(
multiItems(subDetectors,
"Summary_ClusterWidth_OffTrack@mean"),
"ClusterWidth_OffTrack_mean.gif", 0,
109 condition+
"",
"", Start, End, nRuns, 0, 7 ));
110 config.push_back(Trend(
multiItems(subDetectors,
"TotalNumberOfClusterProfile@yMean"),
"TotalNumberOfClusterProfile_ymean.gif", 0,
111 condition+
"",
"", Start, End, nRuns, 0, 15 ));
114 config.push_back(Trend( siStripTracker+
"@nFEDErrors@entries",
"nFEDErrors.gif", 0,
115 condition,
"", Start, End, nRuns ));
116 config.push_back(Trend( siStripTracker+
"@nBadActiveChannelStatusBits@entries",
"nBadActiveChannelStatusBits.gif", 0,
117 condition,
"", Start, End, nRuns ));
118 config.push_back(Trend( siStripTracker+
"@nBadChannelStatusBits@entries",
"nBadChannelStatusBits.gif", 0,
119 condition,
"", Start, End, nRuns ));
120 config.push_back(Trend( siStripTracker+
"@nAPVAddressError@entries",
"nAPVAddressError.gif", 0,
121 condition,
"", Start, End, nRuns ));
122 config.push_back(Trend( siStripTracker+
"@nUnlocked@entries",
"nUnlocked.gif", 0,
123 condition,
"", Start, End, nRuns ));
124 config.push_back(Trend( siStripTracker+
"@nOutOfSync@entries",
"nOutOfSync.gif", 0,
125 condition,
"", Start, End, nRuns ));
128 config.push_back(Trend( siStripTracker+
"@nFEDErrors@mean",
"nFEDErrors_mean.gif", 0,
129 condition,
"", Start, End, nRuns ));
130 config.push_back(Trend( siStripTracker+
"@nBadActiveChannelStatusBits@mean",
"nBadActiveChannelStatusBits_mean.gif", 0,
131 condition,
"", Start, End, nRuns ));
132 config.push_back(Trend( siStripTracker+
"@nBadChannelStatusBits@mean",
"nBadChannelStatusBits_mean.gif", 0,
133 condition,
"", Start, End, nRuns ));
134 config.push_back(Trend( siStripTracker+
"@nAPVAddressError@mean",
"nAPVAddressError_mean.gif", 0,
135 condition,
"", Start, End, nRuns ));
136 config.push_back(Trend( siStripTracker+
"@nUnlocked@mean",
"nUnlocked_mean.gif", 0,
137 condition,
"", Start, End, nRuns ));
138 config.push_back(Trend( siStripTracker+
"@nOutOfSync@mean",
"nOutOfSync_mean.gif", 0,
139 condition,
"", Start, End, nRuns ));
142 for_each(config.begin(), config.end(), makeTrend);
162 gSystem->Load(
"libFWCoreFWLite" );
165 if (argc != 6 && argc != 7) {
166 std::cerr <<
"Usage: " << argv[0] <<
" [Database] [TagName] [Password] [WhiteListFile] [NRuns] " << std::endl;
167 std::cerr <<
"Or: " << argv[0] <<
" [Database] [TagName] [Password] [WhiteListFile] [FirstRun] [LastRun] " << std::endl;
172 std::cout <<
"Creating trends for NRuns = " << argv[5] <<
" for tag: " << argv[2] << std::endl;
174 }
else if(argc == 7) {
175 std::cout <<
"Creating trends for range: " << argv[5] <<
" " << argv[6] <<
" for tag: " << argv[2] << std::endl;
tuple start
Check for commandline option errors.
void setWhiteListFromFile(const std::string &listFileName)
void setDebug(const int i)
void runTrackingInspector(const string &dbName, const string &tagName, const string &Password, const string &whiteListFile, const int Start, const int End, const int nRuns)
virtual bool computeIntegralList(const std::vector< std::string > &computeIntegralVector)
fills the list of names of quantities for which a summation over the runs is required ...
void SiStripHDQMInspector(const string &dbName, const string &tagName, const string &password, const std::string &whiteListFile, const int start, const int end)
void setSkip99s(bool const in)
void setDB(std::string dbName, std::string dbTag, std::string authPath="")
static void enable()
enable automatic library loading
void setBlackList(const std::string &listItems)
string multiItems(const vector< string > &subDetectors, const string &item)
Simple helper function for building the string for TIB,TOB,TEC,TID items.
void setDoStat(const int i)