99// granted to it by virtue of its status as an Intergovernmental Organization
1010// or submit itself to any jurisdiction.
1111
12- // NOLINTBEGIN(whitespace/line_length)
1312
1413// / \file flattenicityTask.cxx
1514// / \brief Run-3 calibration task for FT0 flattenicity
@@ -54,7 +53,7 @@ using namespace o2::framework;
5453using namespace o2 ::framework::expressions;
5554using namespace o2 ::soa;
5655
57- using FullTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension>;
56+ using FullTracks = soa::Join<aod::Tracks, aod::TracksExtra, aod::TracksDCA, aod::TrackSelection, aod::TrackSelectionExtension>; // NOLINT
5857
5958using CollisionsWithMult = soa::Join<aod::Collisions, aod::EvSels, aod::Mults, aod::PVMults>;
6059using CollisionsNoMult = soa::Join<aod::Collisions, aod::EvSels>;
@@ -115,11 +114,11 @@ struct FlattenicityTask {
115114 static constexpr float kModuleHalfWidth = 2 .65f ;
116115
117116 static constexpr float kZDetA = 335 .5f ;
118- static constexpr float kModuleAx [NSectorsA] = {-12 .2500f , -6 .1500f , -0 .0500f , 6 .1500f , 12 .2500f , -12 .2500f , -6 .1500f , -0 .0500f , 6 .1500f , 12 .2500f , -13 .5800f , -7 .4800f , 7 .4800f , 13 .5800f , -12 .2500f , -6 .1500f , 0 .0500f , 6 .1500f , 12 .2500f , -12 .2500f , -6 .1500f , 0 .0500f , 6 .1500f , 12 .2500f };
119- static constexpr float kModuleAy [NSectorsA] = {12 .2000f , 12 .2000f , 13 .5300f , 12 .2000f , 12 .2000f , 6 .1000f , 6 .1000f , 7 .4300f , 6 .1000f , 6 .1000f , 0 .0000f , 0 .0000f , 0 .0000f , 0 .0000f , -6 .1000f , -6 .1000f , -7 .4300f , -6 .1000f , -6 .1000f , -12 .2000f , -12 .2000f , -13 .5300f , -12 .2000f , -12 .2000f };
120- static constexpr float kModuleCx [NSectorsC] = {-15 .5426f , 15 .5426f , -15 .5069f , 15 .5069f , -9 .3296f , 9 .3296f , -9 .3296f , 9 .3296f , -9 .3296f , 9 .3296f , -3 .1011f , 3 .1011f , -3 .1286f , 3 .1286f , 3 .1010f , -3 .1010f , 3 .1286f , -3 .1286f , 9 .3295f , -9 .3295f , 9 .3296f , -9 .3296f , 9 .3296f , -9 .3296f , 15 .5425f , -15 .5425f , 15 .5068f , -15 .5068f };
121- static constexpr float kModuleCy [NSectorsC] = {3 .2659f , -3 .2659f , 9 .4726f , -9 .4726f , 3 .2436f , -3 .2436f , 9 .4726f , -9 .4726f , 15 .6494f , -15 .6494f , 9 .4725f , -9 .4725f , 15 .6982f , -15 .6982f , 9 .4724f , -9 .4724f , 15 .6981f , -15 .6981f , 3 .2435f , -3 .2435f , 9 .4725f , -9 .4725f , 15 .6493f , -15 .6493f , 3 .2659f , -3 .2659f , 9 .4725f , -9 .4725f };
122- static constexpr float kModuleCz [NSectorsC] = {-85 .2486f , -85 .2486f , -84 .7790f , -84 .7790f , -86 .1724f , -86 .1724f , -85 .7006f , -85 .7006f , -84 .7685f , -84 .7685f , -86 .1618f , -86 .1618f , -85 .2246f , -85 .2246f , -86 .1619f , -86 .1619f , -85 .2247f , -85 .2247f , -86 .1725f , -86 .1725f , -85 .7006f , -85 .7006f , -84 .7685f , -84 .7685f , -85 .2486f , -85 .2486f , -84 .7791f , -84 .7791f };
117+ static constexpr float kModuleAx [NSectorsA] = {-12 .2500f , -6 .1500f , -0 .0500f , 6 .1500f , 12 .2500f , -12 .2500f , -6 .1500f , -0 .0500f , 6 .1500f , 12 .2500f , -13 .5800f , -7 .4800f , 7 .4800f , 13 .5800f , -12 .2500f , -6 .1500f , 0 .0500f , 6 .1500f , 12 .2500f , -12 .2500f , -6 .1500f , 0 .0500f , 6 .1500f , 12 .2500f }; // NOLINT
118+ static constexpr float kModuleAy [NSectorsA] = {12 .2000f , 12 .2000f , 13 .5300f , 12 .2000f , 12 .2000f , 6 .1000f , 6 .1000f , 7 .4300f , 6 .1000f , 6 .1000f , 0 .0000f , 0 .0000f , 0 .0000f , 0 .0000f , -6 .1000f , -6 .1000f , -7 .4300f , -6 .1000f , -6 .1000f , -12 .2000f , -12 .2000f , -13 .5300f , -12 .2000f , -12 .2000f }; // NOLINT
119+ static constexpr float kModuleCx [NSectorsC] = {-15 .5426f , 15 .5426f , -15 .5069f , 15 .5069f , -9 .3296f , 9 .3296f , -9 .3296f , 9 .3296f , -9 .3296f , 9 .3296f , -3 .1011f , 3 .1011f , -3 .1286f , 3 .1286f , 3 .1010f , -3 .1010f , 3 .1286f , -3 .1286f , 9 .3295f , -9 .3295f , 9 .3296f , -9 .3296f , 9 .3296f , -9 .3296f , 15 .5425f , -15 .5425f , 15 .5068f , -15 .5068f }; // NOLINT
120+ static constexpr float kModuleCy [NSectorsC] = {3 .2659f , -3 .2659f , 9 .4726f , -9 .4726f , 3 .2436f , -3 .2436f , 9 .4726f , -9 .4726f , 15 .6494f , -15 .6494f , 9 .4725f , -9 .4725f , 15 .6982f , -15 .6982f , 9 .4724f , -9 .4724f , 15 .6981f , -15 .6981f , 3 .2435f , -3 .2435f , 9 .4725f , -9 .4725f , 15 .6493f , -15 .6493f , 3 .2659f , -3 .2659f , 9 .4725f , -9 .4725f }; // NOLINT
121+ static constexpr float kModuleCz [NSectorsC] = {-85 .2486f , -85 .2486f , -84 .7790f , -84 .7790f , -86 .1724f , -86 .1724f , -85 .7006f , -85 .7006f , -84 .7685f , -84 .7685f , -86 .1618f , -86 .1618f , -85 .2246f , -85 .2246f , -86 .1619f , -86 .1619f , -85 .2247f , -85 .2247f , -86 .1725f , -86 .1725f , -85 .7006f , -85 .7006f , -84 .7685f , -84 .7685f , -85 .2486f , -85 .2486f , -84 .7791f , -84 .7791f }; // NOLINT
123122
124123 // Official FT0 channel ID -> geometry module index, built by inverting
125124 // localChannelOrder[] from AliceO2 Detectors/FIT/FT0/base/include/FT0Base/
@@ -128,8 +127,8 @@ struct FlattenicityTask {
128127 // above, so truth-level and reco-level sectors are the same physical
129128 // modules. FT0-C table is indexed by (official channel - 96), i.e. the
130129 // channelC() value stored in AO2D (see QA/hFT0ChannelC to confirm).
131- static constexpr int kChannelToModuleA [NchA] = {12 , 12 , 12 , 12 , 8 , 8 , 8 , 8 , 7 , 7 , 7 , 7 , 6 , 6 , 6 , 6 , 11 , 11 , 11 , 11 , 15 , 15 , 15 , 15 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 13 , 13 , 13 , 13 , 9 , 9 , 9 , 9 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 5 , 5 , 5 , 5 , 10 , 10 , 10 , 10 , 14 , 14 , 14 , 14 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 22 , 22 , 22 , 22 , 23 , 23 , 23 , 23 , 18 , 18 , 18 , 18 };
132- static constexpr int kChannelToModuleC [NchC] = {18 , 18 , 18 , 18 , 20 , 20 , 20 , 20 , 14 , 14 , 14 , 14 , 10 , 10 , 10 , 10 , 6 , 6 , 6 , 6 , 4 , 4 , 4 , 4 , 19 , 19 , 19 , 19 , 21 , 21 , 21 , 21 , 15 , 15 , 15 , 15 , 11 , 11 , 11 , 11 , 7 , 7 , 7 , 7 , 5 , 5 , 5 , 5 , 24 , 24 , 24 , 24 , 26 , 26 , 26 , 26 , 22 , 22 , 22 , 22 , 16 , 16 , 16 , 16 , 12 , 12 , 12 , 12 , 8 , 8 , 8 , 8 , 2 , 2 , 2 , 2 , 0 , 0 , 0 , 0 , 25 , 25 , 25 , 25 , 27 , 27 , 27 , 27 , 23 , 23 , 23 , 23 , 17 , 17 , 17 , 17 , 13 , 13 , 13 , 13 , 9 , 9 , 9 , 9 , 3 , 3 , 3 , 3 , 1 , 1 , 1 , 1 };
130+ static constexpr int kChannelToModuleA [NchA] = {12 , 12 , 12 , 12 , 8 , 8 , 8 , 8 , 7 , 7 , 7 , 7 , 6 , 6 , 6 , 6 , 11 , 11 , 11 , 11 , 15 , 15 , 15 , 15 , 16 , 16 , 16 , 16 , 17 , 17 , 17 , 17 , 13 , 13 , 13 , 13 , 9 , 9 , 9 , 9 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 3 , 2 , 2 , 2 , 2 , 1 , 1 , 1 , 1 , 0 , 0 , 0 , 0 , 5 , 5 , 5 , 5 , 10 , 10 , 10 , 10 , 14 , 14 , 14 , 14 , 19 , 19 , 19 , 19 , 20 , 20 , 20 , 20 , 21 , 21 , 21 , 21 , 22 , 22 , 22 , 22 , 23 , 23 , 23 , 23 , 18 , 18 , 18 , 18 }; // NOLINT
131+ static constexpr int kChannelToModuleC [NchC] = {18 , 18 , 18 , 18 , 20 , 20 , 20 , 20 , 14 , 14 , 14 , 14 , 10 , 10 , 10 , 10 , 6 , 6 , 6 , 6 , 4 , 4 , 4 , 4 , 19 , 19 , 19 , 19 , 21 , 21 , 21 , 21 , 15 , 15 , 15 , 15 , 11 , 11 , 11 , 11 , 7 , 7 , 7 , 7 , 5 , 5 , 5 , 5 , 24 , 24 , 24 , 24 , 26 , 26 , 26 , 26 , 22 , 22 , 22 , 22 , 16 , 16 , 16 , 16 , 12 , 12 , 12 , 12 , 8 , 8 , 8 , 8 , 2 , 2 , 2 , 2 , 0 , 0 , 0 , 0 , 25 , 25 , 25 , 25 , 27 , 27 , 27 , 27 , 23 , 23 , 23 , 23 , 17 , 17 , 17 , 17 , 13 , 13 , 13 , 13 , 9 , 9 , 9 , 9 , 3 , 3 , 3 , 3 , 1 , 1 , 1 , 1 }; // NOLINT
133132
134133 static constexpr int NFlatBins = 10000 ;
135134 static constexpr int NCorrTitleUpdateInterval = 500 ; // refresh Pearson r in the titles every N filled events
@@ -201,10 +200,10 @@ struct FlattenicityTask {
201200 Configurable<float > cfgEtaMax{" cfgEtaMax" , 0.8 , " Maximum |eta| for INEL>0 and track selection" };
202201 Configurable<float > cfgVzMax{" cfgVzMax" , 10.0 , " Maximum absolute collision vertex z (cm)" };
203202 Configurable<bool > cfgApplySel8{" cfgApplySel8" , true , " Apply sel8 event selection" };
204- Configurable<bool > cfgApplyGoodITSLayersAll{" cfgApplyGoodITSLayersAll" , true , " Apply kIsGoodITSLayersAll event selection" };
203+ Configurable<bool > cfgApplyGoodITSLayersAll{" cfgApplyGoodITSLayersAll" , true , " Apply kIsGoodITSLayersAll event selection" }; // NOLINT
205204 Configurable<bool > cfgRequireInelGt0{" cfgRequireInelGt0" , true , " Require INEL>0" };
206205 Configurable<bool > cfgPileupRejection{" cfgPileupRejection" , true , " Reject same-bunch pileup (kNoSameBunchPileup)" };
207- Configurable<bool > cfgGoodZvertex{" cfgGoodZvertex" , true , " Require good z-vertex agreement PV-vs-FT0 (kIsGoodZvtxFT0vsPV)" };
206+ Configurable<bool > cfgGoodZvertex{" cfgGoodZvertex" , true , " Require good z-vertex agreement PV-vs-FT0 (kIsGoodZvtxFT0vsPV)" }; // NOLINT
208207
209208 Configurable<int > cfgITSreq{" cfgITSreq" , 0 , " ITS requirement (0 = Run3ITSibAny)" };
210209
@@ -227,12 +226,12 @@ struct FlattenicityTask {
227226 {
228227 auto hComb = histos.get <TH2 >(HIST (" MCReco/hTruthVsRecoCombined" ));
229228 if (hComb && hComb->GetEntries () > 0 ) {
230- hComb->SetTitle (Form (" Combined: reco vs truth (Pearson r = %.3f);1-#rho (reco, FT0);1-#rho (truth, MC)" , hComb->GetCorrelationFactor ()));
229+ hComb->SetTitle (Form (" Combined: reco vs truth (Pearson r = %.3f);1-#rho (reco, FT0);1-#rho (truth, MC)" , hComb->GetCorrelationFactor ())); // NOLINT
231230 hComb->SetOption (" COLZ" );
232231 }
233232 auto hAvg = histos.get <TH2 >(HIST (" MCReco/hTruthVsRecoAverage" ));
234233 if (hAvg && hAvg->GetEntries () > 0 ) {
235- hAvg->SetTitle (Form (" Average: reco vs truth (Pearson r = %.3f);1-#rho (reco, FT0);1-#rho (truth, MC)" , hAvg->GetCorrelationFactor ()));
234+ hAvg->SetTitle (Form (" Average: reco vs truth (Pearson r = %.3f);1-#rho (reco, FT0);1-#rho (truth, MC)" , hAvg->GetCorrelationFactor ())); // NOLINT
236235 hAvg->SetOption (" COLZ" );
237236 }
238237 }
@@ -270,13 +269,13 @@ struct FlattenicityTask {
270269 const AxisSpec flatAxisSpecTruthComb{NFlatBins, 0.0 , 1.0 , " flattenicity (MC truth, combined)" };
271270 const AxisSpec flatAxisSpecRecoAvg{NFlatBins, 0.0 , 1.0 , " flattenicity (reco, FT0 average)" };
272271 const AxisSpec flatAxisSpecRecoComb{NFlatBins, 0.0 , 1.0 , " flattenicity (reco, FT0 combined)" };
273- hPtVsFlatTruthAvg = histos.add <TH2 >(" MCTruth/hPtVsFlatTruthAvg" , " MC truth: pT vs flattenicity (average);flattenicity;#it{p}_{T}" ,
272+ hPtVsFlatTruthAvg = histos.add <TH2 >(" MCTruth/hPtVsFlatTruthAvg" , " MC truth: pT vs flattenicity (average);flattenicity;#it{p}_{T}" , // NOLINT
274273 HistType::kTH2F , {flatAxisSpecTruthAvg, ptAxisSpec});
275- hPtVsFlatTruthComb = histos.add <TH2 >(" MCTruth/hPtVsFlatTruthComb" , " MC truth: pT vs flattenicity (combined);flattenicity;#it{p}_{T}" ,
274+ hPtVsFlatTruthComb = histos.add <TH2 >(" MCTruth/hPtVsFlatTruthComb" , " MC truth: pT vs flattenicity (combined);flattenicity;#it{p}_{T}" , // NOLINT
276275 HistType::kTH2F , {flatAxisSpecTruthComb, ptAxisSpec});
277- hPtVsFlatRecoAvg = histos.add <TH2 >(" MCReco/hPtVsFlatRecoAvg" , " MC reco: pT vs flattenicity (FT0 average);flattenicity;#it{p}_{T}" ,
276+ hPtVsFlatRecoAvg = histos.add <TH2 >(" MCReco/hPtVsFlatRecoAvg" , " MC reco: pT vs flattenicity (FT0 average);flattenicity;#it{p}_{T}" , // NOLINT
278277 HistType::kTH2F , {flatAxisSpecRecoAvg, ptAxisSpec});
279- hPtVsFlatRecoComb = histos.add <TH2 >(" MCReco/hPtVsFlatRecoComb" , " MC reco: pT vs flattenicity (FT0 combined);flattenicity;#it{p}_{T}" ,
278+ hPtVsFlatRecoComb = histos.add <TH2 >(" MCReco/hPtVsFlatRecoComb" , " MC reco: pT vs flattenicity (FT0 combined);flattenicity;#it{p}_{T}" , // NOLINT
280279 HistType::kTH2F , {flatAxisSpecRecoComb, ptAxisSpec});
281280 }
282281
@@ -401,7 +400,7 @@ struct FlattenicityTask {
401400 }
402401
403402 template <typename FT0 >
404- bool computeFT0Flattenicities (const FT0 & ft0, float & flattenicityAverage, float & flattenicityCombined, float & sumAmplitude)
403+ bool computeFT0Flattenicities (const FT0 & ft0, float & flattenicityAverage, float & flattenicityCombined, float & sumAmplitude) // NOLINT
405404 {
406405 std::array<float , NSectorsA> countsA{};
407406 std::array<float , NSectorsC> countsC{};
0 commit comments