Skip to content

Commit a5dd5a9

Browse files
Bhawani Singhwiechula
authored andcommitted
Adds:IDC0 scaling and Overview plots
1 parent f1c8c45 commit a5dd5a9

3 files changed

Lines changed: 22 additions & 9 deletions

File tree

Modules/TPC/include/TPC/IDCs.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ class IDCs : public quality_control::postprocessing::PostProcessingInterface
7373
o2::tpc::IDCCCDBHelper<unsigned char> mCCDBHelper;
7474
o2::ccdb::CcdbApi mCdbApi;
7575
std::string mHost;
76+
std::unique_ptr<TCanvas> mIDCZeroScale;
77+
std::unique_ptr<TCanvas> mIDCZerOverview;
7678
std::unique_ptr<TCanvas> mIDCZeroSides;
7779
std::unique_ptr<TCanvas> mIDCZeroRadialProf;
7880
std::unique_ptr<TCanvas> mIDCZeroStacksA;
@@ -82,6 +84,7 @@ class IDCs : public quality_control::postprocessing::PostProcessingInterface
8284
std::unique_ptr<TCanvas> mIDCOneSides1D;
8385
std::unique_ptr<TCanvas> mFourierCoeffsA;
8486
std::unique_ptr<TCanvas> mFourierCoeffsC;
87+
8588
std::unordered_map<std::string, long> mTimestamps; ///< timestamps to look for specific data in the CCDB
8689
std::vector<std::map<std::string, std::string>> mLookupMaps{}; ///< meta data to look for data in the CCDB
8790
std::vector<std::map<std::string, std::string>> mStoreMaps{}; ///< meta data to be stored with the output in the QCDB

Modules/TPC/run/tpcQCIDCs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
"histogramRanges_comment" : [ "nBins", "min", "max" ],
5353
"histogramRanges": [
5454
{ "IDCZero" : [ "250", "0", "2.5" ] },
55+
{"IDCZeroOveview" : [ "250", "-20", "20" ] },
5556
{ "IDCOne" : [ "250", "0", "0.5" ] },
5657
{ "IDCDelta" : [ "100", "-1.02", "-0.94" ] },
5758
{ "FourierCoeffs" : [ "600", "-20", "20" ] }

Modules/TPC/src/IDCs.cxx

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
// O2 includes
1818
#include "TPCBase/CDBInterface.h"
19+
#include "TPCBase/CalDet.h"
20+
#include "TPCBase/CalArray.h"
21+
#include "TPCBase/Painter.h"
1922

2023
// QC includes
2124
#include "QualityControl/QcInfoLogger.h"
@@ -109,6 +112,8 @@ void IDCs::initialize(Trigger, framework::ServiceRegistryRef)
109112
{
110113
mCdbApi.init(mHost);
111114

115+
mIDCZeroScale = std::make_unique<TCanvas>("c_sides_IDC0_scale");
116+
mIDCZerOverview = std::make_unique<TCanvas>("c_sides_IDC0_overview");
112117
mIDCZeroRadialProf = std::make_unique<TCanvas>("c_sides_IDC0_radialProfile");
113118
mIDCZeroStacksA = std::make_unique<TCanvas>("c_GEMStacks_IDC0_1D_ASide");
114119
mIDCZeroStacksC = std::make_unique<TCanvas>("c_GEMStacks_IDC0_1D_CSide");
@@ -121,6 +126,8 @@ void IDCs::initialize(Trigger, framework::ServiceRegistryRef)
121126
mFourierCoeffsA = std::make_unique<TCanvas>("c_FourierCoefficients_1D_ASide");
122127
mFourierCoeffsC = std::make_unique<TCanvas>("c_FourierCoefficients_1D_CSide");
123128

129+
getObjectsManager()->startPublishing(mIDCZeroScale.get());
130+
getObjectsManager()->startPublishing(mIDCZerOverview.get());
124131
getObjectsManager()->startPublishing(mIDCZeroRadialProf.get());
125132
getObjectsManager()->startPublishing(mIDCZeroStacksA.get());
126133
getObjectsManager()->startPublishing(mIDCZeroStacksC.get());
@@ -136,6 +143,8 @@ void IDCs::initialize(Trigger, framework::ServiceRegistryRef)
136143

137144
void IDCs::update(Trigger, framework::ServiceRegistryRef)
138145
{
146+
mIDCZeroScale.get()->Clear();
147+
mIDCZerOverview.get()->Clear();
139148
mIDCZeroRadialProf.get()->Clear();
140149
mIDCZeroStacksA.get()->Clear();
141150
mIDCZeroStacksC.get()->Clear();
@@ -163,18 +172,16 @@ void IDCs::update(Trigger, framework::ServiceRegistryRef)
163172
mCCDBHelper.setFourierCoeffs(idcFFTA, Side::A);
164173
mCCDBHelper.setFourierCoeffs(idcFFTC, Side::C);
165174

166-
if (idcZeroA) {
175+
if (idcZeroA && idcZeroC) {
176+
// scale IDCZero to the sum of IDCZeros
177+
mCCDBHelper.setIDCZeroScale(true);
178+
mCCDBHelper.drawIDCZeroScale(mIDCZeroScale.get(), true);
167179
mCCDBHelper.drawIDCZeroStackCanvas(mIDCZeroStacksA.get(), Side::A, "IDC0", mRanges["IDCZero"].at(0), mRanges["IDCZero"].at(1), mRanges["IDCZero"].at(2));
168-
}
169-
170-
if (idcZeroC) {
171180
mCCDBHelper.drawIDCZeroStackCanvas(mIDCZeroStacksC.get(), Side::C, "IDC0", mRanges["IDCZero"].at(0), mRanges["IDCZero"].at(1), mRanges["IDCZero"].at(2));
172-
}
173-
174-
if (idcZeroA && idcZeroC) {
175181
mCCDBHelper.drawIDCZeroRadialProfile(mIDCZeroRadialProf.get(), mRanges["IDCZero"].at(0), mRanges["IDCZero"].at(1), mRanges["IDCZero"].at(2));
176182
}
177-
183+
const auto& calDet = mCCDBHelper.getIDCZeroCalDet();
184+
o2::tpc::painter::draw(calDet, mRanges["IDCZeroOveview"].at(0), mRanges["IDCZeroOveview"].at(1), mRanges["IDCZeroOveview"].at(2), mIDCZerOverview.get());
178185
if (idcDeltaA) {
179186
mCCDBHelper.drawIDCZeroStackCanvas(mIDCDeltaStacksA.get(), Side::A, "IDCDelta", mRanges["IDCDelta"].at(0), mRanges["IDCDelta"].at(1), mRanges["IDCDelta"].at(2));
180187
}
@@ -192,7 +199,7 @@ void IDCs::update(Trigger, framework::ServiceRegistryRef)
192199
}
193200

194201
if (idcFFTC) {
195-
mCCDBHelper.drawFourierCoeff(mFourierCoeffsC.get(), Side::C, mRanges["FourierCoeffs"].at(0), mRanges["FourierCoeffs"].at(1), mRanges["FourierCoeffs"].at(2));
202+
mCCDBHelper.drawFourierCoeff(mFourierCoeffsC.get(), Side::C, mRanges["IDCZeroOveview"].at(0), mRanges["IDCZeroOveview"].at(1), mRanges["IDCZeroOveview"].at(2));
196203
}
197204

198205
delete idcZeroA;
@@ -216,6 +223,8 @@ void IDCs::update(Trigger, framework::ServiceRegistryRef)
216223

217224
void IDCs::finalize(Trigger, framework::ServiceRegistryRef)
218225
{
226+
getObjectsManager()->stopPublishing(mIDCZeroScale.get());
227+
getObjectsManager()->stopPublishing(mIDCZerOverview.get());
219228
getObjectsManager()->stopPublishing(mIDCZeroRadialProf.get());
220229
getObjectsManager()->stopPublishing(mIDCZeroStacksA.get());
221230
getObjectsManager()->stopPublishing(mIDCZeroStacksC.get());

0 commit comments

Comments
 (0)