21 enum { kEBTotalTowers = 2448, kEETotalTowers = 1584 };
35 EcalTPGLutGroupPlot() :
cond::payloadInspector::PlotImage<
EcalTPGLutGroup>(
"EcalTPGLutGroup - map ") {
39 bool fill(
const std::vector<std::tuple<cond::Time_t, cond::Hash> >& iovs)
override {
45 TH2F*
barrel =
new TH2F(
"EB",
"EB Tower Status", 72, 0, 72, 34, -17, 17);
46 TH2F* endc_p =
new TH2F(
"EE+",
"EE+ Tower Status", 22, 0, 22, 22, 0, 22);
47 TH2F* endc_m =
new TH2F(
"EE-",
"EE- Tower Status", 22, 0, 22, 22, 0, 22);
49 auto iov = iovs.front();
51 unsigned int run = std::get<0>(iov);
57 for (it =
map.begin(); it !=
map.end(); it++) {
63 if (ttId_eb.subDet() == 1) {
65 int ieta = ttId_eb.ieta();
68 int iphi = ttId_eb.iphi() - 1;
70 if (minEB > (*it).second)
73 if (maxEB < (*it).second)
85 int ix = ttId_ee.ix();
86 int iy = ttId_ee.iy();
87 int zside = ttId_ee.zside();
89 if (minEE > (*it).second)
92 if (maxEE < (*it).second)
96 endc_p->Fill(ix, iy, (*it).second);
98 endc_m->Fill(ix, iy, (*it).second);
105 TCanvas
canvas(
"CC map",
"CC map", 800, 800);
109 t1.SetTextSize(0.05);
110 t1.DrawLatex(0.5, 0.96, Form(
"Ecal TPG LutGroup, IOV %i",
run));
113 TPad* padb =
new TPad(
"padb",
"padb", 0., 0.45, 1., 0.9);
115 TPad* padem =
new TPad(
"padem",
"padem", 0., 0., 0.45, 0.45);
117 TPad* padep =
new TPad(
"padep",
"padep", 0.55, 0., 1., 0.45);
120 TLine*
l =
new TLine(0., 0., 0., 0.);
124 barrel->SetMaximum(maxEB);
125 barrel->SetMinimum(minEB);
128 for (
int i = 0;
i < 17;
i++) {
129 Double_t
x = 4. + (
i * 4);
130 l =
new TLine(
x, -17.,
x, 17.);
134 l =
new TLine(0., 0., 72., 0.);
144 canvas.SaveAs(ImageName.c_str());
static EcalTrigTowerDetId detIdFromDenseIndex(uint32_t di)
std::map< uint32_t, uint32_t >::const_iterator EcalTPGGroupsMapItr
static EcalScDetId unhashIndex(int hi)
#define PAYLOAD_INSPECTOR_CLASS(CLASS_NAME)
void DrawEE_Tower(TH2F *endc, TLine *l, double minScale, double maxScale)
#define PAYLOAD_INSPECTOR_MODULE(PAYLOAD_TYPENAME)
static bool validHashIndex(int hi)
std::map< uint32_t, uint32_t > EcalTPGGroupsMap
std::shared_ptr< PayloadType > fetchPayload(const cond::Hash &payloadHash)