@@ -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
0 commit comments