Skip to content

Commit 9ccfc80

Browse files
committed
[MCH] added aggregator task for DE and SOLAR qualities
The task combines the summary qualities for each DE and SOLAR link, and uploads a CCDB object with the list of bad DE and SOLAR IDs. The CCDB objects will be used to automatically reconfigure the bad links during the data taking.
1 parent 6409144 commit 9ccfc80

File tree

4 files changed

+471
-0
lines changed

4 files changed

+471
-0
lines changed

Modules/MUON/MCH/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ set(SRCS
3535
src/DecodingPostProcessing.cxx
3636
src/DigitsPostProcessing.cxx
3737
src/PreclustersPostProcessing.cxx
38+
src/QualityAggregatorTask.cxx
3839
src/PostProcessingConfigMCH.cxx
3940
src/TrendingTracks.cxx
4041
src/ClustersTask.cxx
@@ -76,6 +77,7 @@ set(HEADERS
7677
include/MCH/DedodingPostProcessing.h
7778
include/MCH/DigitsPostProcessing.h
7879
include/MCH/PreclustersPostProcessing.h
80+
include/MCH/QualityAggregatorTask.h
7981
include/MCH/PostProcessingConfigMCH.h
8082
include/MCH/TrendingTracks.h
8183
include/MCH/ClustersTask.h
@@ -161,6 +163,7 @@ add_root_dictionary(${MODULE_NAME}
161163
include/MCH/DecodingPostProcessing.h
162164
include/MCH/DigitsPostProcessing.h
163165
include/MCH/PreclustersPostProcessing.h
166+
include/MCH/QualityAggregatorTask.h
164167
include/MCH/PostProcessingConfigMCH.h
165168
include/MCH/TrendingTracks.h
166169
include/MCH/ClustersTask.h

Modules/MUON/MCH/include/MCH/LinkDef.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
#pragma link C++ class o2::quality_control_modules::muonchambers::DecodingPostProcessing + ;
1818
#pragma link C++ class o2::quality_control_modules::muonchambers::DigitsPostProcessing + ;
1919
#pragma link C++ class o2::quality_control_modules::muonchambers::PreclustersPostProcessing + ;
20+
#pragma link C++ class o2::quality_control_modules::muonchambers::QualityAggregatorTask + ;
2021
// Trending
2122
#pragma link C++ class o2::quality_control_modules::muonchambers::TrendingTracks + ;
2223
// Checks
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2+
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3+
// All rights not expressly granted are reserved.
4+
//
5+
// This software is distributed under the terms of the GNU General Public
6+
// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7+
//
8+
// In applying this license CERN does not waive the privileges and immunities
9+
// granted to it by virtue of its status as an Intergovernmental Organization
10+
// or submit itself to any jurisdiction.
11+
12+
///
13+
/// \file QualityAggregatorTask.h
14+
/// \author Andrea Ferrero andrea.ferrero@cern.ch
15+
/// \brief Post-processing of the MCH pre-clusters
16+
/// \since 21/06/2022
17+
///
18+
19+
#ifndef QC_MODULE_MCH_PP_QUALITY_H
20+
#define QC_MODULE_MCH_PP_QUALITY_H
21+
22+
#include "QualityControl/PostProcessingInterface.h"
23+
#include "CCDB/CcdbApi.h"
24+
25+
#include <set>
26+
27+
using namespace o2::framework;
28+
29+
using namespace o2::quality_control;
30+
using namespace o2::quality_control::postprocessing;
31+
32+
class TH2F;
33+
34+
namespace o2::quality_control_modules::muonchambers
35+
{
36+
37+
/// \brief A post-processing task which processes and trends MCH pre-clusters and produces plots.
38+
class QualityAggregatorTask : public PostProcessingInterface
39+
{
40+
public:
41+
using CcdbApi = o2::ccdb::CcdbApi;
42+
43+
QualityAggregatorTask() = default;
44+
~QualityAggregatorTask() override = default;
45+
46+
void configure(const boost::property_tree::ptree& config) override;
47+
void initialize(Trigger, framework::ServiceRegistryRef) override;
48+
void update(Trigger, framework::ServiceRegistryRef) override;
49+
void finalize(Trigger, framework::ServiceRegistryRef) override;
50+
51+
private:
52+
CcdbApi mAPI;
53+
std::string mCCDBpath{ "http://ccdb-test.cern.ch:8080" }; // CCDB path
54+
55+
std::string mObjectPathBadDE{ "MCH/Calib/BadDE" };
56+
std::string mObjectPathBadSOLAR{ "MCH/Calib/BadSOLAR" };
57+
58+
std::vector<std::string> mDEPlotPaths;
59+
std::optional<std::set<int>> mPreviousBadDEs;
60+
61+
std::vector<std::string> mSOLARPlotPaths;
62+
std::optional<std::set<int>> mPreviousBadSolarBoards;
63+
64+
std::unique_ptr<TH2F> mHistogramQualityPerDE; ///< quality flags for each DE, to be filled by checker task
65+
std::unique_ptr<TH2F> mHistogramQualityPerSolar; ///< quality flags for each SOLAR, to be filled by checker task
66+
};
67+
68+
} // namespace o2::quality_control_modules::muonchambers
69+
70+
#endif // QC_MODULE_MCH_PP_QUALITY_H

0 commit comments

Comments
 (0)