21 enum { kEBTotalTowers = 2448, kEETotalTowers = 1584 };
29 EcalTPGTowerStatusPlot() :
cond::payloadInspector::PlotImage<
EcalTPGTowerStatus>(
"ECAL TPGTowerStatus - map ") {
33 bool fill(
const std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs)
override {
35 int EBstat = 0, EEstat = 0;
37 auto iov = iovs.front();
39 unsigned int run = std::get<0>(iov);
44 for (it = towerMap.begin(); it != towerMap.end(); ++it) {
45 if ((*it).second > 0) {
53 if (
ttId.subDet() == 1) {
62 gStyle->SetPalette(1);
63 gStyle->SetOptStat(0);
74 t1.DrawLatex(0.5, 0.96, Form(
"Ecal TPGTowerStatus, IOV %i",
run));
76 TPad** pad =
new TPad*;
78 pad[
obj] =
new TPad(Form(
"p_%i",
obj), Form(
"p_%i",
obj), 0.0, 0.04, 1.0, 0.94);
82 t1.DrawLatex(0.2, 0.88, Form(
"%i towers", EBstat));
83 t1.DrawLatex(0.5, 0.02, Form(
"EE : %i tower(s)", EEstat));
88 TLine*
l =
new TLine(0., 0., 0., 0.);
91 Double_t
x = 4. + (
i * 4);
95 l =
new TLine(0., 0., 72., 0.);
99 canvas.SaveAs(ImageName.c_str());
109 EcalTPGTowerStatusDiff() :
cond::payloadInspector::PlotImage<
EcalTPGTowerStatus>(
"ECAL TPGTowerStatus difference") {
113 bool fill(
const std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs)
override {
116 int EBstat = 0, EEstat = 0;
118 unsigned int run[2] = {0, 0}, irun = 0, vEB[kEBTotalTowers];
120 for (
auto const& iov : iovs) {
122 run[irun] = std::get<0>(iov);
127 for (it = towerMap.begin(); it != towerMap.end(); ++it) {
134 int stat = (*it).second;
136 if (
ttId.subDet() == 1) {
153 if (
ttId.subDet() == 1) {
192 gStyle->SetPalette(1);
193 gStyle->SetOptStat(0);
202 t1.SetTextSize(0.05);
203 t1.DrawLatex(0.5, 0.96, Form(
"Ecal TPGTowerStatus, IOV %i - %i",
run[1],
run[0]));
205 TPad** pad =
new TPad*;
207 pad[
obj] =
new TPad(Form(
"p_%i",
obj), Form(
"p_%i",
obj), 0.0, 0.04, 1.0, 0.94);
210 t1.SetTextSize(0.03);
211 t1.DrawLatex(0.2, 0.88, Form(
"%i tower(s)", EBstat));
212 t1.DrawLatex(0.5, 0.02, Form(
"EE : %i tower(s)", EEstat));
217 TLine*
l =
new TLine(0., 0., 0., 0.);
220 Double_t
x = 4. + (
i * 4);
224 l =
new TLine(0., 0., 72., 0.);
228 canvas.SaveAs(ImageName.c_str());
238 EcalTPGTowerStatusSummaryPlot()
243 bool fill(
const std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs)
override {
244 auto iov = iovs.front();
245 std::shared_ptr<EcalTPGTowerStatus>
payload =
247 unsigned int run = std::get<0>(iov);
256 align =
new TH2F(
"Ecal TPGTower Status Summary",
257 "Total NumberOfMasked",
268 if ((*it).second > 0)
271 align->Fill(0.5, 0.5, towerMap.size());
272 align->Fill(1.5, 0.5, NbMaskedTT);
278 gStyle->SetPalette(1);
279 gStyle->SetOptStat(0);
280 TCanvas
canvas(
"CC map",
"CC map", 1000, 1000);
284 t1.SetTextSize(0.04);
286 t1.DrawLatex(0.5, 0.96, Form(
"Barrel masked Trigger Towers, IOV %i",
run));
288 TPad* pad =
new TPad(
"pad",
"pad", 0.0, 0.0, 1.0, 0.94);
295 align->GetXaxis()->SetTickLength(0.);
296 align->GetXaxis()->SetLabelSize(0.);
297 align->GetYaxis()->SetTickLength(0.);
298 align->GetYaxis()->SetLabelSize(0.);
301 canvas.SaveAs(ImageName.c_str());