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 ef2c87d16..74913529d 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 a2b794b44..779125356 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 246d526b5..4ccfa6fa9 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 3d1a4323f..b59dc0076 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 4623854e4..9c3b48b69 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 408554734..0a4f16e71 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 74913529d..0f9c05d26 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 779125356..bf1afce4b 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 4ccfa6fa9..d56423b07 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 b59dc0076..86223c85b 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 f49ec820b..ae004d3a5 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 0f9c05d26..ef2c87d16 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 bf1afce4b..a2b794b44 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 d56423b07..246d526b5 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 86223c85b..3b15dc3c1 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 9c3b48b69..4623854e4 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 0a4f16e71..408554734 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 876b0c48f..150ec9f9d 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 3b15dc3c1..ceec6bc5b 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 4623854e4..88fccbbfb 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 408554734..e0af86fd2 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 150ec9f9d..b47e2968a 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 b47e2968a..88a989773 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 ceec6bc5b..0d516bc60 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 88fccbbfb..feb233039 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 e0af86fd2..7c04207fe 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");