@@ -61,8 +61,8 @@ struct centralityStudy {
6161 Configurable<float > minTimeDelta{" minTimeDelta" , -1 .0f , " reject collision if another collision is this close or less in time" };
6262 Configurable<float > minFT0CforVertexZ{" minFT0CforVertexZ" , 250 , " minimum FT0C for vertex-Z profile calculation" };
6363
64- Configurable<bool > sumFT0AC{ " sumFT0AC " , false , " sum FT0A and FT0C " };
65- Configurable<float > scaleSignalFT0C{ " scaleSignalFT0C " , 1 .00f , " scale FT0C/A+C signal for convenience" };
64+ Configurable<float > scaleSignalFT0C{ " scaleSignalFT0C " , 1 . 00f , " scale FT0C signal for convenience " };
65+ Configurable<float > scaleSignalFT0M{ " scaleSignalFT0M " , 1 .00f , " scale FT0M signal for convenience" };
6666 Configurable<float > scaleSignalFV0A{" scaleSignalFV0A" , 1 .00f , " scale FV0A signal for convenience" };
6767
6868 // Configurable Axes
@@ -71,6 +71,7 @@ struct centralityStudy {
7171
7272 // For one-dimensional plots, where binning is no issue
7373 ConfigurableAxis axisMultUltraFineFV0A{" axisMultUltraFineFV0A" , {60000 , 0 , 60000 }, " FV0A amplitude" };
74+ ConfigurableAxis axisMultUltraFineFT0M{" axisMultUltraFineFT0M" , {50000 , 0 , 200000 }, " FT0M amplitude" };
7475 ConfigurableAxis axisMultUltraFineFT0C{" axisMultUltraFineFT0C" , {60000 , 0 , 60000 }, " FT0C amplitude" };
7576 ConfigurableAxis axisMultUltraFinePVContributors{" axisMultUltraFinePVContributors" , {10000 , 0 , 10000 }, " Number of PV Contributors" };
7677
@@ -105,6 +106,7 @@ struct centralityStudy {
105106 histos.get <TH1>(HIST (" hCollisionSelection" ))->GetXaxis ()->SetBinLabel (13 , " no ITS in-ROF pileup (strict)" );
106107
107108 histos.add (" hFT0C_Collisions" , " hFT0C_Collisions" , kTH1D , {axisMultUltraFineFT0C});
109+ histos.add (" hFT0M_Collisions" , " hFT0M_Collisions" , kTH1D , {axisMultUltraFineFT0M});
108110 histos.add (" hFV0A_Collisions" , " hFV0A_Collisions" , kTH1D , {axisMultUltraFineFV0A});
109111 histos.add (" hNPVContributors" , " hNPVContributors" , kTH1D , {axisMultUltraFinePVContributors});
110112
@@ -115,6 +117,7 @@ struct centralityStudy {
115117 if (doprocessBCs) {
116118 histos.add (" hBCSelection" , " hBCSelection" , kTH1D , {{20 , -0.5 , 19 .5f }});
117119 histos.add (" hFT0C_BCs" , " hFT0C_BCs" , kTH1D , {axisMultUltraFineFT0C});
120+ histos.add (" hFT0M_BCs" , " hFT0M_BCs" , kTH1D , {axisMultUltraFineFT0M});
118121 histos.add (" hFV0A_BCs" , " hFV0A_BCs" , kTH1D , {axisMultUltraFineFV0A});
119122
120123 histos.add (" hFT0CvsPVz_BCs_All" , " hFT0CvsPVz_BCs_All" , kTProfile , {axisPVz});
@@ -130,6 +133,7 @@ struct centralityStudy {
130133
131134 if (doprocessCollisionsWithCentrality) {
132135 // in case requested: do vs centrality debugging
136+ histos.add (" hCentrality" , " hCentrality" , kTH1F , {axisCentrality});
133137 histos.add (" hNContribsVsCentrality" , " hNContribsVsCentrality" , kTH2F , {axisCentrality, axisMultPVContributors});
134138 histos.add (" hNITSTPCTracksVsCentrality" , " hNITSTPCTracksVsCentrality" , kTH2F , {axisCentrality, axisMultPVContributors});
135139 histos.add (" hNITSOnlyTracksVsCentrality" , " hNITSOnlyTracksVsCentrality" , kTH2F , {axisCentrality, axisMultPVContributors});
@@ -189,12 +193,6 @@ struct centralityStudy {
189193 }
190194 histos.fill (HIST (" hCollisionSelection" ), 9 /* Not at same bunch pile-up */ );
191195
192- float multFT0_touse = collision.multFT0C ();
193- if (sumFT0AC) {
194- multFT0_touse += collision.multFT0A ();
195- }
196- multFT0_touse *= scaleSignalFT0C;
197-
198196 // do this only if information is available
199197 if constexpr (requires { collision.timeToNext (); }) {
200198 float timeToNeighbour = TMath::Min (
@@ -229,20 +227,22 @@ struct centralityStudy {
229227
230228 // if we got here, we also finally fill the FT0C histogram, please
231229 histos.fill (HIST (" hNPVContributors" ), collision.multPVTotalContributors ());
232- histos.fill (HIST (" hFT0C_Collisions" ), multFT0_touse);
230+ histos.fill (HIST (" hFT0C_Collisions" ), collision.multFT0C () * scaleSignalFT0C);
231+ histos.fill (HIST (" hFT0M_Collisions" ), (collision.multFT0A () + collision.multFT0C ()) * scaleSignalFT0M);
233232 histos.fill (HIST (" hFV0A_Collisions" ), collision.multFV0A () * scaleSignalFV0A);
234- histos.fill (HIST (" hFT0CvsPVz_Collisions_All" ), collision.multPVz (), multFT0_touse );
233+ histos.fill (HIST (" hFT0CvsPVz_Collisions_All" ), collision.multPVz (), collision. multFT0C () * scaleSignalFT0C );
235234 if (collision.multFT0C () > minFT0CforVertexZ) {
236- histos.fill (HIST (" hFT0CvsPVz_Collisions" ), collision.multPVz (), multFT0_touse );
235+ histos.fill (HIST (" hFT0CvsPVz_Collisions" ), collision.multPVz (), collision. multFT0C () * scaleSignalFT0C );
237236 }
238237 if (do2DPlots) {
239- histos.fill (HIST (" hFT0CvsNContribs" ), collision.multNTracksPV (), multFT0_touse );
238+ histos.fill (HIST (" hFT0CvsNContribs" ), collision.multNTracksPV (), collision. multFT0C () * scaleSignalFT0C );
240239 histos.fill (HIST (" hMatchedVsITSOnly" ), collision.multNTracksITSOnly (), collision.multNTracksITSTPC ());
241240 }
242241
243242 // if the table has centrality information
244243 if constexpr (requires { collision.centFT0C (); }) {
245244 // process FT0C centrality plots
245+ histos.fill (HIST (" hCentrality" ), collision.centFT0C ());
246246 histos.fill (HIST (" hNContribsVsCentrality" ), collision.centFT0C (), collision.multPVTotalContributors ());
247247 histos.fill (HIST (" hNITSTPCTracksVsCentrality" ), collision.centFT0C (), collision.multNTracksITSTPC ());
248248 histos.fill (HIST (" hNITSOnlyTracksVsCentrality" ), collision.centFT0C (), collision.multNTracksITSOnly ());
@@ -288,19 +288,14 @@ struct centralityStudy {
288288 }
289289 histos.fill (HIST (" hBCSelection" ), 4 ); // FV0OrA
290290
291- float multFT0_touse = multbc.multBCFT0C ();
292- if (sumFT0AC) {
293- multFT0_touse += multbc.multBCFT0A ();
294- }
295- multFT0_touse *= scaleSignalFT0C;
296-
297291 // if we got here, we also finally fill the FT0C histogram, please
298- histos.fill (HIST (" hFT0C_BCs" ), multFT0_touse);
292+ histos.fill (HIST (" hFT0C_BCs" ), multbc.multBCFT0C () * scaleSignalFT0C);
293+ histos.fill (HIST (" hFT0M_BCs" ), (multbc.multBCFT0A () + multbc.multBCFT0C ()) * scaleSignalFT0M);
299294 histos.fill (HIST (" hFV0A_BCs" ), multbc.multBCFV0A () * scaleSignalFV0A);
300295 if (multbc.multBCFT0PosZValid ()) {
301- histos.fill (HIST (" hFT0CvsPVz_BCs_All" ), multbc.multBCFT0PosZ (), multFT0_touse );
296+ histos.fill (HIST (" hFT0CvsPVz_BCs_All" ), multbc.multBCFT0PosZ (), multbc. multBCFT0C () * scaleSignalFT0C );
302297 if (multbc.multBCFT0C () > minFT0CforVertexZ) {
303- histos.fill (HIST (" hFT0CvsPVz_BCs" ), multbc.multBCFT0PosZ (), multFT0_touse );
298+ histos.fill (HIST (" hFT0CvsPVz_BCs" ), multbc.multBCFT0PosZ (), multbc. multBCFT0C () * scaleSignalFT0C );
304299 }
305300 }
306301
0 commit comments