Skip to content

Commit d312264

Browse files
committed
Feat: add occupancy histograms to Cluster tasks
1 parent 744240a commit d312264

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

Modules/TPC/include/TPC/ClusterVisualizer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ class ClusterVisualizer final : public quality_control::postprocessing::PostProc
7272
void fillRadialHisto(TH2D& h2D, const o2::tpc::CalDet<T>& calDet, const o2::tpc::Side side);
7373

7474
private:
75+
int mNHBFPerTF = 32;
7576
o2::ccdb::CcdbApi mCdbApi;
7677
std::string mHost;
7778
std::vector<std::vector<std::unique_ptr<TCanvas>>> mCalDetCanvasVec{}; ///< vector containing a vector of summary canvases for every CalDet object

Modules/TPC/include/TPC/Clusters.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class Clusters /*final*/ : public TaskInterface // todo add back the "final" whe
5555

5656
private:
5757
bool mIsMergeable = true;
58+
int mNHBFPerTF = 32;
5859
ClustersData mQCClusters{}; ///< O2 Cluster task to perform actions on cluster objects
5960
std::vector<o2::tpc::qc::CalPadWrapper> mWrapperVector{}; ///< vector holding CalPad objects wrapped as TObjects; published on QCG; will be non-wrapped CalPad objects in the future
6061
std::vector<std::unique_ptr<TCanvas>> mNClustersCanvasVec{}; ///< summary canvases of the NClusters object

Modules/TPC/src/ClusterVisualizer.cxx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
#include "TPCBase/Painter.h"
1919
#include "TPCBase/CDBInterface.h"
2020
#include "TPCQC/Helpers.h"
21+
#include "DetectorsBase/GRPGeomHelper.h"
2122

2223
// QC includes
2324
#include "QualityControl/QcInfoLogger.h"
@@ -140,6 +141,8 @@ void ClusterVisualizer::initialize(Trigger, framework::ServiceRegistryRef)
140141
{
141142
mCdbApi.init(mHost);
142143

144+
mNHBFPerTF = o2::base::GRPGeomHelper::instance().getNHBFPerTF();
145+
143146
if (mCalDetCanvasVec.size() > 0) {
144147
mCalDetCanvasVec.clear();
145148
}
@@ -215,12 +218,12 @@ void ClusterVisualizer::update(Trigger t, framework::ServiceRegistryRef)
215218
o2::tpc::painter::makeSummaryCanvases(calDet, int(mRanges[calDet.getName()].at(0)), mRanges[calDet.getName()].at(1), mRanges[calDet.getName()].at(2), false, &vecPtr);
216219
calDetIter++;
217220

218-
calDet = clusters.getOccupancy();
221+
auto occupancy = clusters.getOccupancy(mNHBFPerTF);
219222
vecPtr = toVector(mCalDetCanvasVec.at(calDetIter));
220-
o2::tpc::painter::makeSummaryCanvases(calDet, int(mRanges[calDet.getName()].at(0)), mRanges[calDet.getName()].at(1), mRanges[calDet.getName()].at(2), false, &vecPtr);
223+
o2::tpc::painter::makeSummaryCanvases(occupancy, int(mRanges[occupancy.getName()].at(0)), mRanges[occupancy.getName()].at(1), mRanges[occupancy.getName()].at(2), false, &vecPtr);
221224
calDetIter++;
222225
vecPtr = toVector(mCalDetCanvasVec.at(calDetIter));
223-
makeRadialProfile(calDet, vecPtr.at(0), int(mRanges[calDet.getName()].at(0)), mRanges[calDet.getName()].at(1), mRanges[calDet.getName()].at(2));
226+
makeRadialProfile(occupancy, vecPtr.at(0), int(mRanges[occupancy.getName()].at(0)), mRanges[occupancy.getName()].at(1), mRanges[occupancy.getName()].at(2));
224227
calDetIter++;
225228
}
226229

Modules/TPC/src/Clusters.cxx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include "DataFormatsTPC/ClusterNative.h"
2121
#include "TPCBase/Painter.h"
2222
#include "Framework/InputRecordWalker.h"
23+
#include "DetectorsBase/GRPGeomHelper.h"
2324

2425
// QC includes
2526
#include "QualityControl/QcInfoLogger.h"
@@ -42,6 +43,8 @@ void Clusters::initialize(InitContext& /*ctx*/)
4243

4344
mQCClusters.setName("ClusterData");
4445

46+
mNHBFPerTF = o2::base::GRPGeomHelper::instance().getNHBFPerTF();
47+
4548
const auto last = mCustomParameters.end();
4649
const auto itMergeable = mCustomParameters.find("mergeableOutput");
4750
std::string mergeable;
@@ -73,7 +76,8 @@ void Clusters::initialize(InitContext& /*ctx*/)
7376
mWrapperVector.emplace_back(&mQCClusters.getClusters().getSigmaTime());
7477
mWrapperVector.emplace_back(&mQCClusters.getClusters().getSigmaPad());
7578
mWrapperVector.emplace_back(&mQCClusters.getClusters().getTimeBin());
76-
mWrapperVector.emplace_back(&mQCClusters.getClusters().getOccupancy());
79+
auto occupancy = mQCClusters.getClusters().getOccupancy(mNHBFPerTF);
80+
mWrapperVector.emplace_back(&occupancy);
7781

7882
addAndPublish(getObjectsManager(), mNClustersCanvasVec, { "c_Sides_N_Clusters", "c_ROCs_N_Clusters_1D", "c_ROCs_N_Clusters_2D" });
7983
addAndPublish(getObjectsManager(), mQMaxCanvasVec, { "c_Sides_Q_Max", "c_ROCs_Q_Max_1D", "c_ROCs_Q_Max_2D" });

0 commit comments

Comments
 (0)