Skip to content

Commit 8e62727

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
1 parent b61f5ca commit 8e62727

File tree

2 files changed

+82
-28
lines changed

2 files changed

+82
-28
lines changed

Modules/EMCAL/include/EMCAL/DrawGridlines.h

Lines changed: 70 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,19 +58,19 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
5858
// EMCAL
5959
for (int iside = 0; iside <= 48; iside += 24) {
6060
auto smline = new TLine(static_cast<double>(iside) - 0.5, -0.5, static_cast<double>(iside) - 0.5, 63.5);
61-
smline->SetLineWidth(6);
61+
smline->SetLineWidth(2);
6262

6363
histo->GetListOfFunctions()->Add(smline);
6464
}
6565
for (int iphi = 0; iphi < 60; iphi += 12) {
6666
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);
67-
smline->SetLineWidth(6);
67+
smline->SetLineWidth(2);
6868

6969
histo->GetListOfFunctions()->Add(smline);
7070
}
7171
for (auto iphi = 60; iphi <= 64; iphi += 4) {
7272
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);
73-
smline->SetLineWidth(6);
73+
smline->SetLineWidth(2);
7474

7575
histo->GetListOfFunctions()->Add(smline);
7676
}
@@ -81,26 +81,26 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
8181
for (int isepeta = 0; isepeta < 2; isepeta++) {
8282
int etaoffset = sideoffset + isepeta * 16;
8383
auto smline = new TLine(static_cast<double>(etaoffset) - 0.5, 63.5, static_cast<double>(etaoffset) - 0.5, 99.5);
84-
smline->SetLineWidth(6);
84+
smline->SetLineWidth(2);
8585

8686
histo->GetListOfFunctions()->Add(smline);
8787
}
8888
for (auto iphi = 76; iphi <= 88; iphi += 12) {
8989
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);
90+
smline->SetLineWidth(2);
9191

9292
histo->GetListOfFunctions()->Add(smline);
9393
}
9494
}
9595
for (auto iphi = 100; iphi <= 104; iphi += 4) {
9696
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<int>(iphi) - 0.5);
97-
smline->SetLineWidth(6);
97+
smline->SetLineWidth(2);
9898

9999
histo->GetListOfFunctions()->Add(smline);
100100
}
101101
for (auto ieta = 0; ieta <= 48; ieta += 24) {
102102
auto smline = new TLine(static_cast<double>(ieta) - 0.5, 99.5, static_cast<double>(ieta) - 0.5, 103.5);
103-
smline->SetLineWidth(6);
103+
smline->SetLineWidth(2);
104104

105105
histo->GetListOfFunctions()->Add(smline);
106106
}
@@ -112,13 +112,31 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
112112
if (histo == nullptr) {
113113
return;
114114
}
115+
116+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
117+
auto* funcs = histo->GetListOfFunctions();
118+
if (!funcs) {
119+
return;
120+
}
121+
122+
// Remove previously added grid lines
123+
TIter it(funcs);
124+
TObject* obj = nullptr;
125+
while ((obj = it())) {
126+
if (obj->InheritsFrom(TLine::Class())) {
127+
ILOG(Debug, Support) << "Removing existing grid line from histogram " << histo->GetName() << ENDM;
128+
funcs->Remove(obj);
129+
delete obj;
130+
}
131+
}
132+
115133
// EMCAL
116134
for (int side = 0; side < 2; side++) {
117135
int sideoffset = 24 * side;
118136
for (int itru = 0; itru < 2; itru++) {
119137
int truoffset = sideoffset + (itru + 1) * 8;
120138
auto truline = new TLine(static_cast<int>(truoffset) - 0.5, -0.5, static_cast<int>(truoffset) - 0.5, 59.5);
121-
truline->SetLineWidth(3);
139+
truline->SetLineWidth(2);
122140

123141
histo->GetListOfFunctions()->Add(truline);
124142
}
@@ -128,7 +146,7 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
128146
for (int side = 0; side < 2; side++) {
129147
int sideoffset = (side == 0) ? 0 : 32;
130148
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);
149+
truseparator->SetLineWidth(2);
132150

133151
histo->GetListOfFunctions()->Add(truseparator);
134152
}
@@ -140,22 +158,40 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
140158
if (histo == nullptr) {
141159
return;
142160
}
161+
162+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
163+
auto* funcs = histo->GetListOfFunctions();
164+
if (!funcs) {
165+
return;
166+
}
167+
168+
// Remove previously added grid lines
169+
TIter it(funcs);
170+
TObject* obj = nullptr;
171+
while ((obj = it())) {
172+
if (obj->InheritsFrom(TLine::Class())) {
173+
ILOG(Debug, Support) << "Removing existing grid line from histogram " << histo->GetName() << ENDM;
174+
funcs->Remove(obj);
175+
delete obj;
176+
}
177+
}
178+
143179
// EMCAL
144180
for (int iside = 0; iside <= 96; iside += 48) {
145181
auto smline = new TLine(static_cast<double>(iside) - 0.5, -0.5, static_cast<double>(iside) - 0.5, 127.5);
146-
smline->SetLineWidth(6);
182+
smline->SetLineWidth(2);
147183

148184
histo->GetListOfFunctions()->Add(smline);
149185
}
150186
for (int iphi = 0; iphi < 120; iphi += 24) {
151187
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<double>(iphi) - 0.5);
152-
smline->SetLineWidth(6);
188+
smline->SetLineWidth(2);
153189

154190
histo->GetListOfFunctions()->Add(smline);
155191
}
156192
for (auto iphi = 120; iphi <= 128; iphi += 8) {
157193
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<double>(iphi) - 0.5);
158-
smline->SetLineWidth(6);
194+
smline->SetLineWidth(2);
159195

160196
histo->GetListOfFunctions()->Add(smline);
161197
}
@@ -166,26 +202,26 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
166202
for (int isepeta = 0; isepeta < 2; isepeta++) {
167203
int etaoffset = sideoffset + isepeta * 32;
168204
auto smline = new TLine(static_cast<double>(etaoffset) - 0.5, 127.5, static_cast<double>(etaoffset) - 0.5, 199.5);
169-
smline->SetLineWidth(6);
205+
smline->SetLineWidth(2);
170206

171207
histo->GetListOfFunctions()->Add(smline);
172208
}
173209
for (auto iphi = 152; iphi <= 176; iphi += 24) {
174210
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);
211+
smline->SetLineWidth(2);
176212

177213
histo->GetListOfFunctions()->Add(smline);
178214
}
179215
}
180216
for (auto iphi = 200; iphi <= 208; iphi += 8) {
181217
auto smline = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 95.5, static_cast<int>(iphi) - 0.5);
182-
smline->SetLineWidth(6);
218+
smline->SetLineWidth(2);
183219

184220
histo->GetListOfFunctions()->Add(smline);
185221
}
186222
for (auto ieta = 0; ieta <= 96; ieta += 48) {
187223
auto smline = new TLine(static_cast<double>(ieta) - 0.5, 199.5, static_cast<double>(ieta) - 0.5, 207.5);
188-
smline->SetLineWidth(6);
224+
smline->SetLineWidth(2);
189225

190226
histo->GetListOfFunctions()->Add(smline);
191227
}
@@ -197,6 +233,24 @@ class DrawGridlines : public quality_control::postprocessing::PostProcessingInte
197233
if (histo == nullptr) {
198234
return;
199235
}
236+
237+
// check if the gridlines are already drawn by looking for a line at the first SM boundary
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+
200254
// EMCAL
201255
for (int iphi = 1; iphi < 64; iphi++) {
202256
auto fastorLine = new TLine(-0.5, static_cast<double>(iphi) - 0.5, 47.5, static_cast<double>(iphi) - 0.5);

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)