From fa59b90b1d64aa3dbf1471008b6590edf17ad627 Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Wed, 17 Dec 2025 12:31:54 +0100 Subject: [PATCH 1/6] unify histo binning --- Modules/MFT/include/MFT/QcMFTClusterTask.h | 35 +++++++++++++++++++++ Modules/MFT/include/MFT/QcMFTDigitTask.h | 36 ++++++++++++++++++++++ Modules/MFT/include/MFT/QcMFTTrackTask.h | 36 ++++++++++++++++++++++ Modules/MFT/src/QcMFTClusterTask.cxx | 3 +- Modules/MFT/src/QcMFTDigitTask.cxx | 3 +- Modules/MFT/src/QcMFTTrackTask.cxx | 3 +- 6 files changed, 113 insertions(+), 3 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTClusterTask.h b/Modules/MFT/include/MFT/QcMFTClusterTask.h index ef2c87d162..74913529d8 100644 --- a/Modules/MFT/include/MFT/QcMFTClusterTask.h +++ b/Modules/MFT/include/MFT/QcMFTClusterTask.h @@ -16,6 +16,7 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund +/// \author Jakub Juracka /// #ifndef QC_MFT_CLUSTER_TASK_H @@ -27,6 +28,7 @@ #include "ReconstructionDataFormats/BaseCluster.h" #include "MFTBase/GeometryTGeo.h" #include +#include // Quality Control #include "QualityControl/TaskInterface.h" @@ -104,6 +106,39 @@ class QcMFTClusterTask /*final*/ : public TaskInterface // todo add back the "fi // cluster size in pixels int mClusterSize = { 0 }; + std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + // dictionary const o2::itsmft::TopologyDictionary* mDict = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTDigitTask.h b/Modules/MFT/include/MFT/QcMFTDigitTask.h index a2b794b44c..7791253565 100644 --- a/Modules/MFT/include/MFT/QcMFTDigitTask.h +++ b/Modules/MFT/include/MFT/QcMFTDigitTask.h @@ -16,6 +16,7 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund +/// \author Jakub Juracka /// #ifndef QC_MFT_DIGIT_TASK_H @@ -25,6 +26,8 @@ #include #include #include +// C++ +#include // O2 #include #include @@ -93,6 +96,39 @@ class QcMFTDigitTask final : public TaskInterface float mX[936] = { 0 }; float mY[936] = { 0 }; + std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + std::unique_ptr mMergerTest = nullptr; std::unique_ptr mDigitChipOccupancy = nullptr; std::unique_ptr mDigitChipStdDev = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTTrackTask.h b/Modules/MFT/include/MFT/QcMFTTrackTask.h index 246d526b5d..4ccfa6fa9c 100644 --- a/Modules/MFT/include/MFT/QcMFTTrackTask.h +++ b/Modules/MFT/include/MFT/QcMFTTrackTask.h @@ -16,6 +16,7 @@ /// \author Diana Maria Krupova /// \author Katarina Krizkova Gajdosova /// \author David Grund +/// \author Jakub Juracka /// #ifndef QC_MFT_TRACK_TASK_H @@ -24,6 +25,8 @@ // ROOT #include #include +// C++ +#include // Quality Control #include "QualityControl/TaskInterface.h" #include "Common/TH1Ratio.h" @@ -61,6 +64,39 @@ class QcMFTTrackTask /*final*/ : public TaskInterface // todo add back the "fina private: o2::mft::GeometryTGeo* mGeom = nullptr; + std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + std::unique_ptr mNumberOfTracksPerTF = nullptr; std::unique_ptr mTrackNumberOfClusters = nullptr; std::unique_ptr mCATrackNumberOfClusters = nullptr; diff --git a/Modules/MFT/src/QcMFTClusterTask.cxx b/Modules/MFT/src/QcMFTClusterTask.cxx index 3d1a4323f4..b59dc0076f 100644 --- a/Modules/MFT/src/QcMFTClusterTask.cxx +++ b/Modules/MFT/src/QcMFTClusterTask.cxx @@ -16,6 +16,7 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund +/// \author Jakub Juracka /// // C++ @@ -194,7 +195,7 @@ void QcMFTClusterTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->setDisplayHint(mClusterZ.get(), "hist"); mClustersROFSize = std::make_unique( - "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", maxClusterROFSize, 0, maxClusterROFSize, true); + "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", static_cast(mROFBins.size() - 1), mROFBins.data(), true); mClustersROFSize->SetStats(0); getObjectsManager()->startPublishing(mClustersROFSize.get()); getObjectsManager()->setDisplayHint(mClustersROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTDigitTask.cxx b/Modules/MFT/src/QcMFTDigitTask.cxx index 4623854e43..9c3b48b696 100644 --- a/Modules/MFT/src/QcMFTDigitTask.cxx +++ b/Modules/MFT/src/QcMFTDigitTask.cxx @@ -16,6 +16,7 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund +/// \author Jakub Juracka /// // C++ @@ -160,7 +161,7 @@ void QcMFTDigitTask::initialize(o2::framework::InitContext& /*ctx*/) mDigitsROFSize = std::make_unique("mDigitsROFSize", "Distribution of the #digits per ROF; # digits per ROF; # entries per orbit", - maxDigitROFSize, 0, maxDigitROFSize, true); + static_cast(mROFBins.size() - 1), mROFBins.data(), true); mDigitsROFSize->SetStats(0); getObjectsManager()->startPublishing(mDigitsROFSize.get()); getObjectsManager()->setDisplayHint(mDigitsROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTTrackTask.cxx b/Modules/MFT/src/QcMFTTrackTask.cxx index 408554734c..0a4f16e71f 100644 --- a/Modules/MFT/src/QcMFTTrackTask.cxx +++ b/Modules/MFT/src/QcMFTTrackTask.cxx @@ -16,6 +16,7 @@ /// \author Diana Maria Krupova /// \author Katarina Krizkova Gajdosova /// \author David Grund +/// \author Jakub Juracka /// // C++ @@ -176,7 +177,7 @@ void QcMFTTrackTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->startPublishing(mTrackTanl.get()); getObjectsManager()->setDisplayHint(mTrackTanl.get(), "hist"); - mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", MaxTrackROFSize, 0, MaxTrackROFSize, true); + mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", static_cast(mROFBins.size() - 1), mROFBins.data(), true); getObjectsManager()->startPublishing(mTrackROFNEntries.get()); getObjectsManager()->setDisplayHint(mTrackROFNEntries.get(), "hist logx logy"); From 9368d655525546e5b3d86ab0c1bcd6a37135c9c3 Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Wed, 17 Dec 2025 13:08:47 +0100 Subject: [PATCH 2/6] Clang fix --- Modules/MFT/include/MFT/QcMFTClusterTask.h | 64 +++++++++++----------- Modules/MFT/include/MFT/QcMFTDigitTask.h | 64 +++++++++++----------- Modules/MFT/include/MFT/QcMFTTrackTask.h | 64 +++++++++++----------- Modules/MFT/src/QcMFTClusterTask.cxx | 4 +- Modules/MFT/src/QcMFTReadoutTask.cxx | 6 +- 5 files changed, 101 insertions(+), 101 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTClusterTask.h b/Modules/MFT/include/MFT/QcMFTClusterTask.h index 74913529d8..0f9c05d26b 100644 --- a/Modules/MFT/include/MFT/QcMFTClusterTask.h +++ b/Modules/MFT/include/MFT/QcMFTClusterTask.h @@ -106,38 +106,38 @@ class QcMFTClusterTask /*final*/ : public TaskInterface // todo add back the "fi // cluster size in pixels int mClusterSize = { 0 }; - std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; // dictionary const o2::itsmft::TopologyDictionary* mDict = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTDigitTask.h b/Modules/MFT/include/MFT/QcMFTDigitTask.h index 7791253565..bf1afce4b6 100644 --- a/Modules/MFT/include/MFT/QcMFTDigitTask.h +++ b/Modules/MFT/include/MFT/QcMFTDigitTask.h @@ -96,38 +96,38 @@ class QcMFTDigitTask final : public TaskInterface float mX[936] = { 0 }; float mY[936] = { 0 }; - std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; std::unique_ptr mMergerTest = nullptr; std::unique_ptr mDigitChipOccupancy = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTTrackTask.h b/Modules/MFT/include/MFT/QcMFTTrackTask.h index 4ccfa6fa9c..d56423b074 100644 --- a/Modules/MFT/include/MFT/QcMFTTrackTask.h +++ b/Modules/MFT/include/MFT/QcMFTTrackTask.h @@ -64,38 +64,38 @@ class QcMFTTrackTask /*final*/ : public TaskInterface // todo add back the "fina private: o2::mft::GeometryTGeo* mGeom = nullptr; - std::vector mROFBins = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000}; + std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; std::unique_ptr mNumberOfTracksPerTF = nullptr; std::unique_ptr mTrackNumberOfClusters = nullptr; diff --git a/Modules/MFT/src/QcMFTClusterTask.cxx b/Modules/MFT/src/QcMFTClusterTask.cxx index b59dc0076f..86223c85b3 100644 --- a/Modules/MFT/src/QcMFTClusterTask.cxx +++ b/Modules/MFT/src/QcMFTClusterTask.cxx @@ -234,8 +234,8 @@ void QcMFTClusterTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->startPublishing(mClusterChipOccupancyMap[idx].get()); getObjectsManager()->setDefaultDrawOptions(mClusterChipOccupancyMap[idx].get(), "colz"); } // loop over faces - } // loop over disks - } // loop over halfs + } // loop over disks + } // loop over halfs // layer histograms for (auto nMFTLayer = 0; nMFTLayer < 10; nMFTLayer++) { diff --git a/Modules/MFT/src/QcMFTReadoutTask.cxx b/Modules/MFT/src/QcMFTReadoutTask.cxx index f49ec820b3..ae004d3a5f 100644 --- a/Modules/MFT/src/QcMFTReadoutTask.cxx +++ b/Modules/MFT/src/QcMFTReadoutTask.cxx @@ -246,9 +246,9 @@ void QcMFTReadoutTask::monitorData(o2::framework::ProcessingContext& ctx) mZoneSummaryChipFault->Fill(xBin, yBin); } } // end loop over lanes - } // end if is a DDW - } // end if rdh->stop - } // end loop over input + } // end if is a DDW + } // end if rdh->stop + } // end loop over input } void QcMFTReadoutTask::endOfCycle() From 9eb4ee308528485f688b078a2fcf4da4e86d77f3 Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Thu, 18 Dec 2025 11:28:08 +0100 Subject: [PATCH 3/6] Revert "unify histo binning" This reverts commit fa59b90b1d64aa3dbf1471008b6590edf17ad627. --- Modules/MFT/include/MFT/QcMFTClusterTask.h | 35 --------------------- Modules/MFT/include/MFT/QcMFTDigitTask.h | 36 ---------------------- Modules/MFT/include/MFT/QcMFTTrackTask.h | 36 ---------------------- Modules/MFT/src/QcMFTClusterTask.cxx | 3 +- Modules/MFT/src/QcMFTDigitTask.cxx | 3 +- Modules/MFT/src/QcMFTTrackTask.cxx | 3 +- 6 files changed, 3 insertions(+), 113 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTClusterTask.h b/Modules/MFT/include/MFT/QcMFTClusterTask.h index 0f9c05d26b..ef2c87d162 100644 --- a/Modules/MFT/include/MFT/QcMFTClusterTask.h +++ b/Modules/MFT/include/MFT/QcMFTClusterTask.h @@ -16,7 +16,6 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund -/// \author Jakub Juracka /// #ifndef QC_MFT_CLUSTER_TASK_H @@ -28,7 +27,6 @@ #include "ReconstructionDataFormats/BaseCluster.h" #include "MFTBase/GeometryTGeo.h" #include -#include // Quality Control #include "QualityControl/TaskInterface.h" @@ -106,39 +104,6 @@ class QcMFTClusterTask /*final*/ : public TaskInterface // todo add back the "fi // cluster size in pixels int mClusterSize = { 0 }; - std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; - // dictionary const o2::itsmft::TopologyDictionary* mDict = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTDigitTask.h b/Modules/MFT/include/MFT/QcMFTDigitTask.h index bf1afce4b6..a2b794b44c 100644 --- a/Modules/MFT/include/MFT/QcMFTDigitTask.h +++ b/Modules/MFT/include/MFT/QcMFTDigitTask.h @@ -16,7 +16,6 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund -/// \author Jakub Juracka /// #ifndef QC_MFT_DIGIT_TASK_H @@ -26,8 +25,6 @@ #include #include #include -// C++ -#include // O2 #include #include @@ -96,39 +93,6 @@ class QcMFTDigitTask final : public TaskInterface float mX[936] = { 0 }; float mY[936] = { 0 }; - std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; - std::unique_ptr mMergerTest = nullptr; std::unique_ptr mDigitChipOccupancy = nullptr; std::unique_ptr mDigitChipStdDev = nullptr; diff --git a/Modules/MFT/include/MFT/QcMFTTrackTask.h b/Modules/MFT/include/MFT/QcMFTTrackTask.h index d56423b074..246d526b5d 100644 --- a/Modules/MFT/include/MFT/QcMFTTrackTask.h +++ b/Modules/MFT/include/MFT/QcMFTTrackTask.h @@ -16,7 +16,6 @@ /// \author Diana Maria Krupova /// \author Katarina Krizkova Gajdosova /// \author David Grund -/// \author Jakub Juracka /// #ifndef QC_MFT_TRACK_TASK_H @@ -25,8 +24,6 @@ // ROOT #include #include -// C++ -#include // Quality Control #include "QualityControl/TaskInterface.h" #include "Common/TH1Ratio.h" @@ -64,39 +61,6 @@ class QcMFTTrackTask /*final*/ : public TaskInterface // todo add back the "fina private: o2::mft::GeometryTGeo* mGeom = nullptr; - std::vector mROFBins = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; - std::unique_ptr mNumberOfTracksPerTF = nullptr; std::unique_ptr mTrackNumberOfClusters = nullptr; std::unique_ptr mCATrackNumberOfClusters = nullptr; diff --git a/Modules/MFT/src/QcMFTClusterTask.cxx b/Modules/MFT/src/QcMFTClusterTask.cxx index 86223c85b3..3b15dc3c1c 100644 --- a/Modules/MFT/src/QcMFTClusterTask.cxx +++ b/Modules/MFT/src/QcMFTClusterTask.cxx @@ -16,7 +16,6 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund -/// \author Jakub Juracka /// // C++ @@ -195,7 +194,7 @@ void QcMFTClusterTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->setDisplayHint(mClusterZ.get(), "hist"); mClustersROFSize = std::make_unique( - "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", static_cast(mROFBins.size() - 1), mROFBins.data(), true); + "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", maxClusterROFSize, 0, maxClusterROFSize, true); mClustersROFSize->SetStats(0); getObjectsManager()->startPublishing(mClustersROFSize.get()); getObjectsManager()->setDisplayHint(mClustersROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTDigitTask.cxx b/Modules/MFT/src/QcMFTDigitTask.cxx index 9c3b48b696..4623854e43 100644 --- a/Modules/MFT/src/QcMFTDigitTask.cxx +++ b/Modules/MFT/src/QcMFTDigitTask.cxx @@ -16,7 +16,6 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund -/// \author Jakub Juracka /// // C++ @@ -161,7 +160,7 @@ void QcMFTDigitTask::initialize(o2::framework::InitContext& /*ctx*/) mDigitsROFSize = std::make_unique("mDigitsROFSize", "Distribution of the #digits per ROF; # digits per ROF; # entries per orbit", - static_cast(mROFBins.size() - 1), mROFBins.data(), true); + maxDigitROFSize, 0, maxDigitROFSize, true); mDigitsROFSize->SetStats(0); getObjectsManager()->startPublishing(mDigitsROFSize.get()); getObjectsManager()->setDisplayHint(mDigitsROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTTrackTask.cxx b/Modules/MFT/src/QcMFTTrackTask.cxx index 0a4f16e71f..408554734c 100644 --- a/Modules/MFT/src/QcMFTTrackTask.cxx +++ b/Modules/MFT/src/QcMFTTrackTask.cxx @@ -16,7 +16,6 @@ /// \author Diana Maria Krupova /// \author Katarina Krizkova Gajdosova /// \author David Grund -/// \author Jakub Juracka /// // C++ @@ -177,7 +176,7 @@ void QcMFTTrackTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->startPublishing(mTrackTanl.get()); getObjectsManager()->setDisplayHint(mTrackTanl.get(), "hist"); - mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", static_cast(mROFBins.size() - 1), mROFBins.data(), true); + mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", MaxTrackROFSize, 0, MaxTrackROFSize, true); getObjectsManager()->startPublishing(mTrackROFNEntries.get()); getObjectsManager()->setDisplayHint(mTrackROFNEntries.get(), "hist logx logy"); From 970f0cd65fa99d1d8212214ec2662eb0cf33e7aa Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Thu, 18 Dec 2025 15:13:08 +0100 Subject: [PATCH 4/6] use the Util Tables header for bin definitions --- Modules/MFT/include/MFT/QcMFTUtilTables.h | 35 +++++++++++++++++++++++ Modules/MFT/src/QcMFTClusterTask.cxx | 3 +- Modules/MFT/src/QcMFTDigitTask.cxx | 2 +- Modules/MFT/src/QcMFTTrackTask.cxx | 4 ++- 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTUtilTables.h b/Modules/MFT/include/MFT/QcMFTUtilTables.h index 876b0c48f7..150ec9f9d8 100644 --- a/Modules/MFT/include/MFT/QcMFTUtilTables.h +++ b/Modules/MFT/include/MFT/QcMFTUtilTables.h @@ -15,6 +15,7 @@ /// \author Guillermo Contreras /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova +/// \author Jakub Juracka /// #ifndef QC_MFT_UTIL_TABLES_H @@ -451,6 +452,40 @@ class QcMFTUtilTables { 1, 1, 1, 1, 1, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, -1, -1, -1, -1 }, { 1, 1, 1, 1, 1, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, -1, -1, -1, -1 }, }; + + // bin limits for digits per ROF axis + inline static float mROFBins[320] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; }; } // namespace o2::quality_control_modules::mft diff --git a/Modules/MFT/src/QcMFTClusterTask.cxx b/Modules/MFT/src/QcMFTClusterTask.cxx index 3b15dc3c1c..ceec6bc5b9 100644 --- a/Modules/MFT/src/QcMFTClusterTask.cxx +++ b/Modules/MFT/src/QcMFTClusterTask.cxx @@ -16,6 +16,7 @@ /// \author Katarina Krizkova Gajdosova /// \author Diana Maria Krupova /// \author David Grund +/// \author Jakub Juracka /// // C++ @@ -194,7 +195,7 @@ void QcMFTClusterTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->setDisplayHint(mClusterZ.get(), "hist"); mClustersROFSize = std::make_unique( - "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", maxClusterROFSize, 0, maxClusterROFSize, true); + "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", 319, QcMFTUtilTables::mROFBins, true); mClustersROFSize->SetStats(0); getObjectsManager()->startPublishing(mClustersROFSize.get()); getObjectsManager()->setDisplayHint(mClustersROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTDigitTask.cxx b/Modules/MFT/src/QcMFTDigitTask.cxx index 4623854e43..88fccbbfb6 100644 --- a/Modules/MFT/src/QcMFTDigitTask.cxx +++ b/Modules/MFT/src/QcMFTDigitTask.cxx @@ -160,7 +160,7 @@ void QcMFTDigitTask::initialize(o2::framework::InitContext& /*ctx*/) mDigitsROFSize = std::make_unique("mDigitsROFSize", "Distribution of the #digits per ROF; # digits per ROF; # entries per orbit", - maxDigitROFSize, 0, maxDigitROFSize, true); + 319, QcMFTUtilTables::mROFBins, true); mDigitsROFSize->SetStats(0); getObjectsManager()->startPublishing(mDigitsROFSize.get()); getObjectsManager()->setDisplayHint(mDigitsROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTTrackTask.cxx b/Modules/MFT/src/QcMFTTrackTask.cxx index 408554734c..e0af86fd27 100644 --- a/Modules/MFT/src/QcMFTTrackTask.cxx +++ b/Modules/MFT/src/QcMFTTrackTask.cxx @@ -16,6 +16,7 @@ /// \author Diana Maria Krupova /// \author Katarina Krizkova Gajdosova /// \author David Grund +/// \author Jakub Juracka /// // C++ @@ -37,6 +38,7 @@ // Quality Control #include "QualityControl/QcInfoLogger.h" #include "MFT/QcMFTTrackTask.h" +#include "MFT/QcMFTUtilTables.h" #include "Common/TH1Ratio.h" #include "Common/TH2Ratio.h" #include "DetectorsBase/GRPGeomHelper.h" @@ -176,7 +178,7 @@ void QcMFTTrackTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->startPublishing(mTrackTanl.get()); getObjectsManager()->setDisplayHint(mTrackTanl.get(), "hist"); - mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", MaxTrackROFSize, 0, MaxTrackROFSize, true); + mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", 319, QcMFTUtilTables::mROFBins, true); getObjectsManager()->startPublishing(mTrackROFNEntries.get()); getObjectsManager()->setDisplayHint(mTrackROFNEntries.get(), "hist logx logy"); From cd9c3f515399d7d281225788a439cc1f8384ed9a Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Thu, 18 Dec 2025 15:14:23 +0100 Subject: [PATCH 5/6] CLang fix --- Modules/MFT/include/MFT/QcMFTUtilTables.h | 62 +++++++++++------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTUtilTables.h b/Modules/MFT/include/MFT/QcMFTUtilTables.h index 150ec9f9d8..b47e2968af 100644 --- a/Modules/MFT/include/MFT/QcMFTUtilTables.h +++ b/Modules/MFT/include/MFT/QcMFTUtilTables.h @@ -455,37 +455,37 @@ class QcMFTUtilTables // bin limits for digits per ROF axis inline static float mROFBins[320] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, - 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, - 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, - 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, - 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, - 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, - 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, - 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, - 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, - 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, - 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, - 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, - 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, - 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, - 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, - 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, - 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, - 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, - 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, - 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, - 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, - 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, - 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, + 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, + 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, + 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, + 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, + 610, 620, 630, 640, 650, 660, 670, 680, 690, 700, + 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, + 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, + 910, 920, 930, 940, 950, 960, 970, 980, 990, 1000, + 1100, 1200, 1300, 1400, 1500, 1600, 1700, 1800, 1900, 2000, + 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, 3000, + 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, 4000, + 4100, 4200, 4300, 4400, 4500, 4600, 4700, 4800, 4900, 5000, + 5100, 5200, 5300, 5400, 5500, 5600, 5700, 5800, 5900, 6000, + 6100, 6200, 6300, 6400, 6500, 6600, 6700, 6800, 6900, 7000, + 7100, 7200, 7300, 7400, 7500, 7600, 7700, 7800, 7900, 8000, + 8100, 8200, 8300, 8400, 8500, 8600, 8700, 8800, 8900, 9000, + 9100, 9200, 9300, 9400, 9500, 9600, 9700, 9800, 9900, 10000, + 11000, 12000, 13000, 14000, 15000, 16000, 17000, 18000, 19000, 20000, + 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, + 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, + 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; }; } // namespace o2::quality_control_modules::mft From 4da4f7ba690af493f9b34b99a8938f2b92c6b11a Mon Sep 17 00:00:00 2001 From: Jakub Juracka Date: Mon, 19 Jan 2026 23:28:19 +0100 Subject: [PATCH 6/6] try casting as non-const for histo definitions --- Modules/MFT/include/MFT/QcMFTUtilTables.h | 3 ++- Modules/MFT/src/QcMFTClusterTask.cxx | 2 +- Modules/MFT/src/QcMFTDigitTask.cxx | 2 +- Modules/MFT/src/QcMFTTrackTask.cxx | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Modules/MFT/include/MFT/QcMFTUtilTables.h b/Modules/MFT/include/MFT/QcMFTUtilTables.h index b47e2968af..88a989773e 100644 --- a/Modules/MFT/include/MFT/QcMFTUtilTables.h +++ b/Modules/MFT/include/MFT/QcMFTUtilTables.h @@ -454,7 +454,7 @@ class QcMFTUtilTables }; // bin limits for digits per ROF axis - inline static float mROFBins[320] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + static constexpr float mROFBins[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, @@ -486,6 +486,7 @@ class QcMFTUtilTables 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, 31000, 32000, 33000, 34000, 35000, 36000, 37000, 38000, 39000, 40000, 41000, 42000, 43000, 44000, 45000, 46000, 47000, 48000, 49000, 50000 }; + static constexpr int nROFBins = sizeof(mROFBins) / sizeof(mROFBins[0]) - 1; }; } // namespace o2::quality_control_modules::mft diff --git a/Modules/MFT/src/QcMFTClusterTask.cxx b/Modules/MFT/src/QcMFTClusterTask.cxx index ceec6bc5b9..0d516bc604 100644 --- a/Modules/MFT/src/QcMFTClusterTask.cxx +++ b/Modules/MFT/src/QcMFTClusterTask.cxx @@ -195,7 +195,7 @@ void QcMFTClusterTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->setDisplayHint(mClusterZ.get(), "hist"); mClustersROFSize = std::make_unique( - "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", 319, QcMFTUtilTables::mROFBins, true); + "mClustersROFSize", "Distribution of the #clusters per ROF; # clusters per ROF; # entries per orbit", QcMFTUtilTables::nROFBins, const_cast(QcMFTUtilTables::mROFBins), true); mClustersROFSize->SetStats(0); getObjectsManager()->startPublishing(mClustersROFSize.get()); getObjectsManager()->setDisplayHint(mClustersROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTDigitTask.cxx b/Modules/MFT/src/QcMFTDigitTask.cxx index 88fccbbfb6..feb233039c 100644 --- a/Modules/MFT/src/QcMFTDigitTask.cxx +++ b/Modules/MFT/src/QcMFTDigitTask.cxx @@ -160,7 +160,7 @@ void QcMFTDigitTask::initialize(o2::framework::InitContext& /*ctx*/) mDigitsROFSize = std::make_unique("mDigitsROFSize", "Distribution of the #digits per ROF; # digits per ROF; # entries per orbit", - 319, QcMFTUtilTables::mROFBins, true); + QcMFTUtilTables::nROFBins, const_cast(QcMFTUtilTables::mROFBins), true); mDigitsROFSize->SetStats(0); getObjectsManager()->startPublishing(mDigitsROFSize.get()); getObjectsManager()->setDisplayHint(mDigitsROFSize.get(), "hist logx logy"); diff --git a/Modules/MFT/src/QcMFTTrackTask.cxx b/Modules/MFT/src/QcMFTTrackTask.cxx index e0af86fd27..7c04207fe1 100644 --- a/Modules/MFT/src/QcMFTTrackTask.cxx +++ b/Modules/MFT/src/QcMFTTrackTask.cxx @@ -178,7 +178,7 @@ void QcMFTTrackTask::initialize(o2::framework::InitContext& /*ctx*/) getObjectsManager()->startPublishing(mTrackTanl.get()); getObjectsManager()->setDisplayHint(mTrackTanl.get(), "hist"); - mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", 319, QcMFTUtilTables::mROFBins, true); + mTrackROFNEntries = std::make_unique("mMFTTrackROFSize", "Distribution of the #tracks per ROF; # tracks per ROF; # entries per orbit", QcMFTUtilTables::nROFBins, const_cast(QcMFTUtilTables::mROFBins), true); getObjectsManager()->startPublishing(mTrackROFNEntries.get()); getObjectsManager()->setDisplayHint(mTrackROFNEntries.get(), "hist logx logy");