Skip to content

Commit f337cb2

Browse files
author
jokonig
committed
[EMCAL-519] Fix drawing lines for SM geom instead of trigger geom
- Wrong geometry used, introduced in #2637 - Make line width smaller - factor out function to remove existing lines
1 parent b61f5ca commit f337cb2

File tree

2 files changed

+64
-43
lines changed

2 files changed

+64
-43
lines changed

Modules/EMCAL/include/EMCAL/DrawGridlines.h

Lines changed: 52 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -39,38 +39,24 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
3939
}
4040

4141
// check if the gridlines are already drawn by looking for a line at the first SM boundary
42-
auto* funcs = histo->GetListOfFunctions();
43-
if (!funcs) {
44-
return;
45-
}
46-
47-
// Remove previously added grid lines
48-
TIter it(funcs);
49-
TObject* obj = nullptr;
50-
while ((obj = it())) {
51-
if (obj->InheritsFrom(TLine::Class())) {
52-
ILOG(Debug, Support) << "Removing existing grid line from histogram " << histo->GetName() << ENDM;
53-
funcs->Remove(obj);
54-
delete obj;
55-
}
56-
}
42+
ResetLines(histo);
5743

5844
// EMCAL
5945
for (int iside = 0; iside <= 48; iside += 24) {
6046
auto smline = new TLine(static_cast<double>(iside) - 0.5, -0.5, static_cast<double>(iside) - 0.5, 63.5);
61-
smline->SetLineWidth(6);
47+
smline->SetLineWidth(2);
6248

6349
histo->GetListOfFunctions()->Add(smline);
6450
}
6551
for (int iphi = 0; iphi < 60; iphi += 12) {
6652
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);
67-
smline->SetLineWidth(6);
53+
smline->SetLineWidth(2);
6854

6955
histo->GetListOfFunctions()->Add(smline);
7056
}
7157
for (auto iphi = 60; iphi <= 64; iphi += 4) {
7258
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);
73-
smline->SetLineWidth(6);
59+
smline->SetLineWidth(2);
7460

7561
histo->GetListOfFunctions()->Add(smline);
7662
}
@@ -81,26 +67,26 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
8167
for (int isepeta = 0; isepeta < 2; isepeta++) {
8268
int etaoffset = sideoffset + isepeta * 16;
8369
auto smline = new TLine(static_cast<double>(etaoffset) - 0.5, 63.5, static_cast<double>(etaoffset) - 0.5, 99.5);
84-
smline->SetLineWidth(6);
70+
smline->SetLineWidth(2);
8571

8672
histo->GetListOfFunctions()->Add(smline);
8773
}
8874
for (auto iphi = 76; iphi <= 88; iphi += 12) {
8975
auto smline = new TLine(static_cast<double>(sideoffset) - 0.5, static_cast<double>(iphi) - 0.5, static_cast<double>(sideoffset + 16) - 0.5, static_cast<double>(iphi) - 0.5);
90-
smline->SetLineWidth(6);
76+
smline->SetLineWidth(2);
9177

9278
histo->GetListOfFunctions()->Add(smline);
9379
}
9480
}
9581
for (auto iphi = 100; iphi <= 104; iphi += 4) {
9682
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<int>(iphi) - 0.5);
97-
smline->SetLineWidth(6);
83+
smline->SetLineWidth(2);
9884

9985
histo->GetListOfFunctions()->Add(smline);
10086
}
10187
for (auto ieta = 0; ieta <= 48; ieta += 24) {
10288
auto smline = new TLine(static_cast<double>(ieta) - 0.5, 99.5, static_cast<double>(ieta) - 0.5, 103.5);
103-
smline->SetLineWidth(6);
89+
smline->SetLineWidth(2);
10490

10591
histo->GetListOfFunctions()->Add(smline);
10692
}
@@ -112,13 +98,17 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
11298
if (histo == nullptr) {
11399
return;
114100
}
101+
102+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
103+
ResetLines(histo);
104+
115105
// EMCAL
116106
for (int side = 0; side < 2; side++) {
117107
int sideoffset = 24 * side;
118108
for (int itru = 0; itru < 2; itru++) {
119109
int truoffset = sideoffset + (itru + 1) * 8;
120110
auto truline = new TLine(static_cast<int>(truoffset) - 0.5, -0.5, static_cast<int>(truoffset) - 0.5, 59.5);
121-
truline->SetLineWidth(3);
111+
truline->SetLineWidth(2);
122112

123113
histo->GetListOfFunctions()->Add(truline);
124114
}
@@ -128,7 +118,7 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
128118
for (int side = 0; side < 2; side++) {
129119
int sideoffset = (side == 0) ? 0 : 32;
130120
auto truseparator = new TLine(static_cast<double>(sideoffset + 8) - 0.5, 63.5, static_cast<double>(sideoffset + 8) - 0.5, 99.5);
131-
truseparator->SetLineWidth(3);
121+
truseparator->SetLineWidth(2);
132122

133123
histo->GetListOfFunctions()->Add(truseparator);
134124
}
@@ -140,22 +130,26 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
140130
if (histo == nullptr) {
141131
return;
142132
}
133+
134+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
135+
ResetLines(histo);
136+
143137
// EMCAL
144138
for (int iside = 0; iside <= 96; iside += 48) {
145139
auto smline = new TLine(static_cast<double>(iside) - 0.5, -0.5, static_cast<double>(iside) - 0.5, 127.5);
146-
smline->SetLineWidth(6);
140+
smline->SetLineWidth(2);
147141

148142
histo->GetListOfFunctions()->Add(smline);
149143
}
150144
for (int iphi = 0; iphi < 120; iphi += 24) {
151145
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<double>(iphi) - 0.5);
152-
smline->SetLineWidth(6);
146+
smline->SetLineWidth(2);
153147

154148
histo->GetListOfFunctions()->Add(smline);
155149
}
156150
for (auto iphi = 120; iphi <= 128; iphi += 8) {
157151
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<double>(iphi) - 0.5);
158-
smline->SetLineWidth(6);
152+
smline->SetLineWidth(2);
159153

160154
histo->GetListOfFunctions()->Add(smline);
161155
}
@@ -166,26 +160,26 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
166160
for (int isepeta = 0; isepeta < 2; isepeta++) {
167161
int etaoffset = sideoffset + isepeta * 32;
168162
auto smline = new TLine(static_cast<double>(etaoffset) - 0.5, 127.5, static_cast<double>(etaoffset) - 0.5, 199.5);
169-
smline->SetLineWidth(6);
163+
smline->SetLineWidth(2);
170164

171165
histo->GetListOfFunctions()->Add(smline);
172166
}
173167
for (auto iphi = 152; iphi <= 176; iphi += 24) {
174168
auto smline = new TLine(static_cast<double>(sideoffset) - 0.5, static_cast<double>(iphi) - 0.5, static_cast<double>(sideoffset + 32) - 0.5, static_cast<double>(iphi) - 0.5);
175-
smline->SetLineWidth(6);
169+
smline->SetLineWidth(2);
176170

177171
histo->GetListOfFunctions()->Add(smline);
178172
}
179173
}
180174
for (auto iphi = 200; iphi <= 208; iphi += 8) {
181175
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<int>(iphi) - 0.5);
182-
smline->SetLineWidth(6);
176+
smline->SetLineWidth(2);
183177

184178
histo->GetListOfFunctions()->Add(smline);
185179
}
186180
for (auto ieta = 0; ieta <= 96; ieta += 48) {
187181
auto smline = new TLine(static_cast<double>(ieta) - 0.5, 199.5, static_cast<double>(ieta) - 0.5, 207.5);
188-
smline->SetLineWidth(6);
182+
smline->SetLineWidth(2);
189183

190184
histo->GetListOfFunctions()->Add(smline);
191185
}
@@ -197,6 +191,10 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
197191
if (histo == nullptr) {
198192
return;
199193
}
194+
195+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
196+
ResetLines(histo);
197+
200198
// EMCAL
201199
for (int iphi = 1; iphi < 64; iphi++) {
202200
auto fastorLine = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);
@@ -230,6 +228,29 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
230228
histo->GetListOfFunctions()->Add(philine);
231229
}
232230
};
231+
232+
static void ResetLines(TH1* histo = nullptr)
233+
{
234+
if (histo == nullptr) {
235+
return;
236+
}
237+
238+
auto* funcs = histo->GetListOfFunctions();
239+
if (!funcs) {
240+
return;
241+
}
242+
243+
// Remove previously added grid lines
244+
TIter it(funcs);
245+
TObject* obj = nullptr;
246+
while ((obj = it())) {
247+
if (obj->InheritsFrom(TLine::Class())) {
248+
ILOG(Debug, Support) << "Removing existing grid line from histogram " << histo->GetName() << ENDM;
249+
funcs->Remove(obj);
250+
delete obj;
251+
}
252+
}
253+
};
233254
};
234255

235256
} // namespace o2::quality_control_modules::emcal

Modules/EMCAL/src/CellTask.cxx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1067,12 +1067,12 @@ void CellTask::CellHistograms::startPublishing(o2::quality_control::core::Object
10671067
}
10681068
};
10691069

1070-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancy);
1071-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyThr);
1072-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyThrBelow);
1073-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyGood);
1074-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyBad);
1075-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mIntegratedOccupancy);
1070+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancy);
1071+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyThr);
1072+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyThrBelow);
1073+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyGood);
1074+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyBad);
1075+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mIntegratedOccupancy);
10761076

10771077
publishOptional(mCellTime);
10781078
publishOptional(mCellTimeCalib);
@@ -1176,12 +1176,12 @@ void CellTask::CellHistograms::reset()
11761176
}
11771177

11781178
// Draw Grid Lines
1179-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancy);
1180-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyThr);
1181-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyThrBelow);
1182-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyGood);
1183-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mCellOccupancyBad);
1184-
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInTriggerGeo(mIntegratedOccupancy);
1179+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancy);
1180+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyThr);
1181+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyThrBelow);
1182+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyGood);
1183+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mCellOccupancyBad);
1184+
o2::quality_control_modules::emcal::DrawGridlines::DrawSMGridInStdGeo(mIntegratedOccupancy);
11851185
}
11861186

11871187
void CellTask::CellHistograms::clean()

0 commit comments

Comments
 (0)