Skip to content

Commit a647420

Browse files
authored
[R3C-468] MCH: adapted the pedestals task to use the output of the O2 calibrator (#632)
* [MCH] adapted the MCH pedestals task to use the output of the O2 calibrator * [MCH] removed custom mapping and decoding The MCH QC now relies completely on the official O2 mapping and decoding * [MCH] removed commented code * [MCH] fixed QualityControl library naming
1 parent 570c76d commit a647420

9 files changed

Lines changed: 167 additions & 2030 deletions

File tree

Modules/MUON/MCH/CMakeLists.txt

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ set(MODULE_NAME "QcMuonChambers")
33
# ---- Files ----
44

55
set(SRCS
6-
src/Mapping.cxx
7-
src/Decoding.cxx
86
src/GlobalHistogram.cxx
97
src/PedestalsTask.cxx
108
src/PhysicsTaskDigits.cxx
@@ -15,8 +13,6 @@ set(SRCS
1513
)
1614

1715
set(HEADERS
18-
include/MCH/Mapping.h
19-
include/MCH/Decoding.h
2016
include/MCH/GlobalHistogram.h
2117
include/MCH/PedestalsTask.h
2218
include/MCH/PhysicsTaskDigits.h
@@ -37,7 +33,7 @@ target_include_directories(
3733
)
3834

3935
target_link_libraries(${MODULE_NAME} PUBLIC O2QualityControl O2::CommonDataFormat O2::GPUCommon
40-
$<TARGET_NAME_IF_EXISTS:O2::MCHMappingFactory> O2::MCHMappingImpl3 O2::MCHMappingSegContour O2::MCHRawDecoder O2::MCHPreClustering)
36+
$<TARGET_NAME_IF_EXISTS:O2::MCHMappingFactory> O2::MCHMappingImpl4 O2::MCHMappingSegContour O2::MCHBase O2::DataFormatsMCH O2::MCHRawDecoder O2::MCHCalibration O2::MCHPreClustering)
4137

4238
target_compile_definitions(${MODULE_NAME} PRIVATE $<$<TARGET_EXISTS:O2::MCHMappingFactory>:MCH_HAS_MAPPING_FACTORY>)
4339

@@ -51,9 +47,7 @@ install(
5147
# ---- ROOT dictionary ----
5248

5349
add_root_dictionary(${MODULE_NAME}
54-
HEADERS include/MCH/Mapping.h
55-
include/MCH/Decoding.h
56-
include/MCH/GlobalHistogram.h
50+
HEADERS include/MCH/GlobalHistogram.h
5751
include/MCH/PedestalsTask.h
5852
include/MCH/PhysicsTaskDigits.h
5953
include/MCH/PhysicsTaskPreclusters.h

Modules/MUON/MCH/include/MCH/Decoding.h

Lines changed: 0 additions & 132 deletions
This file was deleted.

Modules/MUON/MCH/include/MCH/Mapping.h

Lines changed: 0 additions & 119 deletions
This file was deleted.

Modules/MUON/MCH/include/MCH/PedestalsTask.h

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,10 @@
77
#define QC_MODULE_MUONCHAMBERS_PEDESTALSTASK_H
88

99
#include "QualityControl/TaskInterface.h"
10-
#include "MCH/Mapping.h"
11-
#include "MCH/Decoding.h"
12-
#include "MCHBase/Digit.h"
10+
#include "MCHRawElecMap/Mapper.h"
1311
#include "MCH/GlobalHistogram.h"
1412
#include "Framework/DataRef.h"
13+
#include "MCHCalibration/MCHChannelCalibrator.h"
1514

1615
class TH1F;
1716
class TH2F;
@@ -36,31 +35,21 @@ class PedestalsTask final : public TaskInterface
3635
void initialize(o2::framework::InitContext& ctx) override;
3736
void startOfActivity(Activity& activity) override;
3837
void startOfCycle() override;
39-
void monitorDataReadout(o2::framework::ProcessingContext& ctx);
40-
void monitorDataDigits(const o2::framework::DataRef& input);
4138
void monitorData(o2::framework::ProcessingContext& ctx) override;
4239
void endOfCycle() override;
4340
void endOfActivity(Activity& activity) override;
4441
void reset() override;
4542

4643
private:
47-
Decoder mDecoder;
48-
uint64_t nhits[MCH_MAX_CRU_IN_FLP][24][40][64];
49-
double pedestal[MCH_MAX_CRU_IN_FLP][24][40][64];
50-
double noise[MCH_MAX_CRU_IN_FLP][24][40][64];
44+
o2::mch::raw::Solar2FeeLinkMapper mSolar2FeeLinkMapper;
45+
o2::mch::raw::Elec2DetMapper mElec2DetMapper;
5146

52-
//Matrices [de][padid], stated an upper value for de# and padid#
47+
/// helper class that performs the actual computation of the pedestals from the input digits
48+
o2::mch::calibration::PedestalProcessor mPedestalProcessor;
5349

54-
uint64_t nhitsDigits[1100][1500];
55-
double pedestalDigits[1100][1500];
56-
double noiseDigits[1100][1500];
57-
58-
MapCRU mMapCRU[MCH_MAX_CRU_IN_FLP];
5950
TH2F* mHistogramPedestals;
6051
TH2F* mHistogramNoise;
6152

62-
std::vector<int> DEs;
63-
//MapFEC mMapFEC;
6453
std::map<int, TH2F*> mHistogramPedestalsDE;
6554
std::map<int, TH2F*> mHistogramNoiseDE;
6655
std::map<int, TH2F*> mHistogramPedestalsXY[2];
@@ -73,6 +62,11 @@ class PedestalsTask final : public TaskInterface
7362

7463
int mPrintLevel;
7564

65+
void monitorDataDigits(o2::framework::ProcessingContext& ctx);
66+
void monitorDataPedestals(o2::framework::ProcessingContext& ctx);
67+
68+
void PlotPedestal(uint16_t solarID, uint8_t dsID, uint8_t channel, double mean, double rms);
69+
void PlotPedestalDE(uint16_t solarID, uint8_t dsID, uint8_t channel, double mean, double rms);
7670
void fill_noise_distributions();
7771
void save_histograms();
7872
};

0 commit comments

Comments
 (0)