@@ -35,6 +35,11 @@ struct centralityStudy {
3535
3636 // Configurables
3737 Configurable<bool > do2DPlots{" do2DPlots" , true , " 0 - no, 1 - yes" };
38+ Configurable<bool > doOccupancyStudyVsCentrality2d{" doOccupancyStudyVsCentrality2d" , true , " 0 - no, 1 - yes" };
39+ Configurable<bool > doOccupancyStudyVsRawValues2d{" doOccupancyStudyVsRawValues2d" , true , " 0 - no, 1 - yes" };
40+ Configurable<bool > doOccupancyStudyVsCentrality3d{" doOccupancyStudyVsCentrality3d" , false , " 0 - no, 1 - yes" };
41+ Configurable<bool > doOccupancyStudyVsRawValues3d{" doOccupancyStudyVsRawValues3d" , false , " 0 - no, 1 - yes" };
42+ Configurable<bool > doNGlobalTracksVsRawSignals{" doNGlobalTracksVsRawSignals" , true , " 0 - no, 1 - yes" };
3843 Configurable<bool > applySel8{" applySel8" , true , " 0 - no, 1 - yes" };
3944 Configurable<bool > applyVtxZ{" applyVtxZ" , true , " 0 - no, 1 - yes" };
4045
@@ -88,6 +93,9 @@ struct centralityStudy {
8893 ConfigurableAxis axisMultPVContributors{" axisMultPVContributors" , {200 , 0 , 6000 }, " Number of PV Contributors" };
8994 ConfigurableAxis axisMultGlobalTracks{" axisMultGlobalTracks" , {500 , 0 , 5000 }, " Number of global tracks" };
9095
96+ ConfigurableAxis axisTrackOccupancy{" axisTrackOccupancy" , {50 , 0 , 5000 }, " Track occupancy" };
97+ ConfigurableAxis axisFT0COccupancy{" axisFT0COccupancy" , {50 , 0 , 80000 }, " FT0C occupancy" };
98+
9199 // For one-dimensional plots, where binning is no issue
92100 ConfigurableAxis axisMultUltraFineFV0A{" axisMultUltraFineFV0A" , {60000 , 0 , 60000 }, " FV0A amplitude" };
93101 ConfigurableAxis axisMultUltraFineFT0M{" axisMultUltraFineFT0M" , {50000 , 0 , 200000 }, " FT0M amplitude" };
@@ -144,21 +152,16 @@ struct centralityStudy {
144152 histos.add (" hFT0C_BCs" , " hFT0C_BCs" , kTH1D , {axisMultUltraFineFT0C});
145153 histos.add (" hFT0M_BCs" , " hFT0M_BCs" , kTH1D , {axisMultUltraFineFT0M});
146154 histos.add (" hFV0A_BCs" , " hFV0A_BCs" , kTH1D , {axisMultUltraFineFV0A});
147-
148155 histos.add (" hFT0CvsPVz_BCs_All" , " hFT0CvsPVz_BCs_All" , kTProfile , {axisPVz});
149156 histos.add (" hFT0CvsPVz_BCs" , " hFT0CvsPVz_BCs" , kTProfile , {axisPVz});
150-
151157 histos.add (" hVertexZ_BCvsCO" , " hVertexZ_BCvsCO" , kTH2D , {axisPVz, axisPVz});
152-
153158 histos.add (" hZNAvsFT0C_BCs" , " hZNAvsFT0C_BCs" , kTH2D , {axisMultFT0C, axisZN});
154159 histos.add (" hZNCvsFT0C_BCs" , " hZNCvsFT0C_BCs" , kTH2D , {axisMultFT0C, axisZN});
155160 }
156161
157162 if (do2DPlots) {
158163 histos.add (" hNContribsVsFT0C" , " hNContribsVsFT0C" , kTH2F , {axisMultFT0C, axisMultPVContributors});
159- histos.add (" hNGlobalTracksVsFT0C" , " hNGlobalTracksVsFT0C" , kTH2F , {axisMultFT0C, axisMultGlobalTracks});
160164 histos.add (" hNContribsVsFV0A" , " hNContribsVsFV0A" , kTH2F , {axisMultFV0A, axisMultPVContributors});
161- histos.add (" hNGlobalTracksVsFV0A" , " hNGlobalTracksVsFV0A" , kTH2F , {axisMultFV0A, axisMultGlobalTracks});
162165 histos.add (" hMatchedVsITSOnly" , " hMatchedVsITSOnly" , kTH2F , {axisMultITSOnly, axisMultITSTPC});
163166
164167 // 2d correlation of fit signals
@@ -168,6 +171,30 @@ struct centralityStudy {
168171 histos.add (" hFDDCVsFT0C" , " hFDDCVsFT0C" , kTH2F , {axisMultFT0C, axisMultFDDC});
169172 }
170173
174+ if (doNGlobalTracksVsRawSignals) {
175+ histos.add (" hNGlobalTracksVsFT0A" , " hNGlobalTracksVsFT0A" , kTH2F , {axisMultFT0A, axisMultGlobalTracks});
176+ histos.add (" hNGlobalTracksVsFT0C" , " hNGlobalTracksVsFT0C" , kTH2F , {axisMultFT0C, axisMultGlobalTracks});
177+ histos.add (" hNGlobalTracksVsFV0A" , " hNGlobalTracksVsFV0A" , kTH2F , {axisMultFV0A, axisMultGlobalTracks});
178+ histos.add (" hNGlobalTracksVsFDDA" , " hNGlobalTracksVsFDDA" , kTH2F , {axisMultFDDA, axisMultGlobalTracks});
179+ histos.add (" hNGlobalTracksVsFDDC" , " hNGlobalTracksVsFDDC" , kTH2F , {axisMultFDDC, axisMultGlobalTracks});
180+ histos.add (" hNGlobalTracksVsZNA" , " hNGlobalTracksVsZNA" , kTH2F , {axisZN, axisMultGlobalTracks});
181+ histos.add (" hNGlobalTracksVsZNC" , " hNGlobalTracksVsZNC" , kTH2F , {axisZN, axisMultGlobalTracks});
182+ }
183+
184+ if (doOccupancyStudyVsRawValues2d) {
185+ histos.add (" hNcontribsProfileVsTrackOccupancyVsFT0C" , " hNcontribsProfileVsTrackOccupancyVsFT0C" , kTProfile2D , {axisTrackOccupancy, axisMultFT0C});
186+ histos.add (" hNGlobalTracksProfileVsTrackOccupancyVsFT0C" , " hNGlobalTracksProfileVsTrackOccupancyVsFT0C" , kTProfile2D , {axisTrackOccupancy, axisMultFT0C});
187+ histos.add (" hNcontribsProfileVsFT0COccupancyVsFT0C" , " hNcontribsProfileVsFT0COccupancyVsFT0C" , kTProfile2D , {axisFT0COccupancy, axisMultFT0C});
188+ histos.add (" hNGlobalTracksProfileVsFT0COccupancyVsFT0C" , " hNGlobalTracksProfileVsFT0COccupancyVsFT0C" , kTProfile2D , {axisFT0COccupancy, axisMultFT0C});
189+ }
190+
191+ if (doOccupancyStudyVsRawValues3d) {
192+ histos.add (" hTrackOccupancyVsNContribsVsFT0C" , " hTrackOccupancyVsNContribsVsFT0C" , kTH3F , {axisTrackOccupancy, axisMultPVContributors, axisMultFT0C});
193+ histos.add (" hTrackOccupancyVsNGlobalTracksVsFT0C" , " hTrackOccupancyVsNGlobalTracksVsFT0C" , kTH3F , {axisTrackOccupancy, axisMultGlobalTracks, axisMultFT0C});
194+ histos.add (" hFT0COccupancyVsNContribsVsFT0C" , " hFT0COccupancyVsNContribsVsFT0C" , kTH3F , {axisFT0COccupancy, axisMultPVContributors, axisMultFT0C});
195+ histos.add (" hFT0COccupancyVsNGlobalTracksVsFT0C" , " hFT0COccupancyVsNGlobalTracksVsFT0C" , kTH3F , {axisFT0COccupancy, axisMultGlobalTracks, axisMultFT0C});
196+ }
197+
171198 if (doprocessCollisionsWithCentrality) {
172199 // in case requested: do vs centrality debugging
173200 histos.add (" hCentrality" , " hCentrality" , kTH1F , {axisCentrality});
@@ -177,6 +204,20 @@ struct centralityStudy {
177204 histos.add (" hNGlobalTracksVsCentrality" , " hNGlobalTracksVsCentrality" , kTH2F , {axisCentrality, axisMultPVContributors});
178205 histos.add (" hPVChi2VsCentrality" , " hPVChi2VsCentrality" , kTH2F , {axisCentrality, axisPVChi2});
179206 histos.add (" hDeltaTimeVsCentrality" , " hDeltaTimeVsCentrality" , kTH2F , {axisCentrality, axisDeltaTime});
207+
208+ if (doOccupancyStudyVsCentrality2d) {
209+ histos.add (" hNcontribsProfileVsTrackOccupancyVsCentrality" , " hNcontribsProfileVsTrackOccupancyVsCentrality" , kTProfile2D , {axisTrackOccupancy, axisCentrality});
210+ histos.add (" hNGlobalTracksProfileVsTrackOccupancyVsCentrality" , " hNGlobalTracksProfileVsTrackOccupancyVsCentrality" , kTProfile2D , {axisTrackOccupancy, axisCentrality});
211+ histos.add (" hNcontribsProfileVsFT0COccupancyVsCentrality" , " hNcontribsProfileVsFT0COccupancyVsCentrality" , kTProfile2D , {axisFT0COccupancy, axisCentrality});
212+ histos.add (" hNGlobalTracksProfileVsFT0COccupancyVsCentrality" , " hNGlobalTracksProfileVsFT0COccupancyVsCentrality" , kTProfile2D , {axisFT0COccupancy, axisCentrality});
213+ }
214+
215+ if (doOccupancyStudyVsCentrality3d) {
216+ histos.add (" hTrackOccupancyVsNContribsVsCentrality" , " hTrackOccupancyVsNContribsVsCentrality" , kTH3F , {axisTrackOccupancy, axisMultPVContributors, axisCentrality});
217+ histos.add (" hTrackOccupancyVsNGlobalTracksVsCentrality" , " hTrackOccupancyVsNGlobalTracksVsCentrality" , kTH3F , {axisTrackOccupancy, axisMultGlobalTracks, axisCentrality});
218+ histos.add (" hFT0COccupancyVsNContribsVsCentrality" , " hFT0COccupancyVsNContribsVsCentrality" , kTH3F , {axisFT0COccupancy, axisMultPVContributors, axisCentrality});
219+ histos.add (" hFT0COccupancyVsNGlobalTracksVsCentrality" , " hFT0COccupancyVsNGlobalTracksVsCentrality" , kTH3F , {axisFT0COccupancy, axisMultGlobalTracks, axisCentrality});
220+ }
180221 }
181222 }
182223
@@ -291,9 +332,7 @@ struct centralityStudy {
291332 }
292333 if (do2DPlots) {
293334 histos.fill (HIST (" hNContribsVsFT0C" ), collision.multFT0C () * scaleSignalFT0C, collision.multPVTotalContributors ());
294- histos.fill (HIST (" hNGlobalTracksVsFT0C" ), collision.multFT0C () * scaleSignalFT0C, collision.multNTracksGlobal ());
295335 histos.fill (HIST (" hNContribsVsFV0A" ), collision.multFV0A () * scaleSignalFV0A, collision.multPVTotalContributors ());
296- histos.fill (HIST (" hNGlobalTracksVsFV0A" ), collision.multFV0A () * scaleSignalFV0A, collision.multNTracksGlobal ());
297336 histos.fill (HIST (" hMatchedVsITSOnly" ), collision.multNTracksITSOnly (), collision.multNTracksITSTPC ());
298337
299338 // correlate also FIT detector signals
@@ -303,6 +342,30 @@ struct centralityStudy {
303342 histos.fill (HIST (" hFDDCVsFT0C" ), collision.multFT0C () * scaleSignalFT0C, collision.multFDDC ());
304343 }
305344
345+ if (doOccupancyStudyVsCentrality2d) {
346+ histos.fill (HIST (" hNcontribsProfileVsTrackOccupancyVsFT0C" ), collision.trackOccupancyInTimeRange (), collision.multFT0C (), collision.multPVTotalContributors ());
347+ histos.fill (HIST (" hNGlobalTracksProfileVsTrackOccupancyVsFT0C" ), collision.trackOccupancyInTimeRange (), collision.multFT0C (), collision.multNTracksGlobal ());
348+ histos.fill (HIST (" hNcontribsProfileVsFT0COccupancyVsFT0C" ), collision.ft0cOccupancyInTimeRange (), collision.multFT0C (), collision.multPVTotalContributors ());
349+ histos.fill (HIST (" hNGlobalTracksProfileVsFT0COccupancyVsFT0C" ), collision.ft0cOccupancyInTimeRange (), collision.multFT0C (), collision.multNTracksGlobal ());
350+ }
351+
352+ if (doOccupancyStudyVsRawValues3d) {
353+ histos.fill (HIST (" hTrackOccupancyVsNContribsVsFT0C" ), collision.trackOccupancyInTimeRange (), collision.multPVTotalContributors (), collision.multFT0C ());
354+ histos.fill (HIST (" hTrackOccupancyVsNGlobalTracksVsFT0C" ), collision.trackOccupancyInTimeRange (), collision.multNTracksGlobal (), collision.multFT0C ());
355+ histos.fill (HIST (" hFT0COccupancyVsNContribsVsFT0C" ), collision.ft0cOccupancyInTimeRange (), collision.multPVTotalContributors (), collision.multFT0C ());
356+ histos.fill (HIST (" hFT0COccupancyVsNGlobalTracksVsFT0C" ), collision.ft0cOccupancyInTimeRange (), collision.multNTracksGlobal (), collision.multFT0C ());
357+ }
358+
359+ if (doNGlobalTracksVsRawSignals) {
360+ histos.fill (HIST (" hNGlobalTracksVsFT0A" ), collision.multFT0A (), collision.multNTracksGlobal ());
361+ histos.fill (HIST (" hNGlobalTracksVsFT0C" ), collision.multFT0C (), collision.multNTracksGlobal ());
362+ histos.fill (HIST (" hNGlobalTracksVsFV0A" ), collision.multFV0A (), collision.multNTracksGlobal ());
363+ histos.fill (HIST (" hNGlobalTracksVsFDDA" ), collision.multFDDA (), collision.multNTracksGlobal ());
364+ histos.fill (HIST (" hNGlobalTracksVsFDDC" ), collision.multFDDC (), collision.multNTracksGlobal ());
365+ histos.fill (HIST (" hNGlobalTracksVsZNA" ), collision.multZNA (), collision.multNTracksGlobal ());
366+ histos.fill (HIST (" hNGlobalTracksVsZNC" ), collision.multZNC (), collision.multNTracksGlobal ());
367+ }
368+
306369 // if the table has centrality information
307370 if constexpr (requires { collision.centFT0C (); }) {
308371 // process FT0C centrality plots
@@ -312,6 +375,20 @@ struct centralityStudy {
312375 histos.fill (HIST (" hNITSOnlyTracksVsCentrality" ), collision.centFT0C (), collision.multNTracksITSOnly ());
313376 histos.fill (HIST (" hNGlobalTracksVsCentrality" ), collision.centFT0C (), collision.multNTracksGlobal ());
314377 histos.fill (HIST (" hPVChi2VsCentrality" ), collision.centFT0C (), collision.multPVChi2 ());
378+
379+ if (doOccupancyStudyVsCentrality2d) {
380+ histos.fill (HIST (" hNcontribsProfileVsTrackOccupancyVsCentrality" ), collision.trackOccupancyInTimeRange (), collision.centFT0C (), collision.multPVTotalContributors ());
381+ histos.fill (HIST (" hNGlobalTracksProfileVsTrackOccupancyVsCentrality" ), collision.trackOccupancyInTimeRange (), collision.centFT0C (), collision.multNTracksGlobal ());
382+ histos.fill (HIST (" hNcontribsProfileVsFT0COccupancyVsCentrality" ), collision.ft0cOccupancyInTimeRange (), collision.centFT0C (), collision.multPVTotalContributors ());
383+ histos.fill (HIST (" hNGlobalTracksProfileVsFT0COccupancyVsCentrality" ), collision.ft0cOccupancyInTimeRange (), collision.centFT0C (), collision.multNTracksGlobal ());
384+ }
385+
386+ if (doOccupancyStudyVsCentrality3d) {
387+ histos.fill (HIST (" hTrackOccupancyVsNContribsVsCentrality" ), collision.trackOccupancyInTimeRange (), collision.multPVTotalContributors (), collision.centFT0C ());
388+ histos.fill (HIST (" hTrackOccupancyVsNGlobalTracksVsCentrality" ), collision.trackOccupancyInTimeRange (), collision.multNTracksGlobal (), collision.centFT0C ());
389+ histos.fill (HIST (" hFT0COccupancyVsNContribsVsCentrality" ), collision.ft0cOccupancyInTimeRange (), collision.multPVTotalContributors (), collision.centFT0C ());
390+ histos.fill (HIST (" hFT0COccupancyVsNGlobalTracksVsCentrality" ), collision.ft0cOccupancyInTimeRange (), collision.multNTracksGlobal (), collision.centFT0C ());
391+ }
315392 }
316393 }
317394
0 commit comments