Skip to content

Commit

Permalink
Add histo for TrendingTask (AliceO2Group#2167)
Browse files Browse the repository at this point in the history
* Add histo for TrendingTask

* correction
  • Loading branch information
ValerieRamillien authored Mar 12, 2024
1 parent 8991a03 commit 07bdae6
Show file tree
Hide file tree
Showing 11 changed files with 81 additions and 30 deletions.
5 changes: 5 additions & 0 deletions Modules/MUON/MID/include/MID/DigitsQcCheck.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,11 @@ class DigitsQcCheck : public o2::quality_control::checker::CheckInterface
double mLocalBoardThreshold = 400; ///! Threshold on board multiplicity (kHz)
int mNbBadLocalBoard = 10; ///! Maximum number of local boards above threshold

int nEmptyLB = 0;
int nBadLB = 0;
double maxVal = 0;
double minVal = 1000;

std::unordered_map<std::string, Quality> mQualityMap; ///! Quality map

HistoHelper mHistoHelper; ///! Histogram helper
Expand Down
4 changes: 4 additions & 0 deletions Modules/MUON/MID/include/MID/DigitsQcTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ class DigitsQcTask final : public TaskInterface

std::unique_ptr<TH1F> mNbDigitTF{ nullptr };

std::unique_ptr<TH1F> mNbLBEmpty{ nullptr };
std::unique_ptr<TH1F> mNbLBHighRate{ nullptr };
std::unique_ptr<TH1F> mLBHighRate{ nullptr };

std::array<std::unique_ptr<TH1F>, 5> mMultHitB{};
std::array<std::unique_ptr<TH1F>, 5> mMultHitNB{};
std::unique_ptr<TH1F> mMeanMultiHits;
Expand Down
1 change: 1 addition & 0 deletions Modules/MUON/MID/include/MID/TracksQcTask.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ class TracksQcTask final : public TaskInterface
std::shared_ptr<TH1F> mTrackPT{ nullptr };

std::shared_ptr<TProfile> mTrackRatio44{ nullptr };
std::shared_ptr<TH1F> mGTrackRatio44{ nullptr };
std::shared_ptr<TProfile> mTrackBDetRatio44{ nullptr };
std::shared_ptr<TProfile> mTrackNBDetRatio44{ nullptr };
std::shared_ptr<TProfile> mTrackLocRatio44{ nullptr };
Expand Down
2 changes: 2 additions & 0 deletions Modules/MUON/MID/src/CalibMQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ void CalibMQcTask::initialize(o2::framework::InitContext& /*ctx*/)

void CalibMQcTask::startOfActivity(const Activity& /*activity*/)
{
reset();
}

void CalibMQcTask::startOfCycle()
Expand Down Expand Up @@ -122,6 +123,7 @@ void CalibMQcTask::endOfCycle()

void CalibMQcTask::endOfActivity(const Activity& /*activity*/)
{
reset();
}

void CalibMQcTask::resetDisplayHistos()
Expand Down
2 changes: 2 additions & 0 deletions Modules/MUON/MID/src/CalibQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ void CalibQcTask::initialize(o2::framework::InitContext& /*ctx*/)

void CalibQcTask::startOfActivity(const Activity& /*activity*/)
{
reset();
}

void CalibQcTask::startOfCycle()
Expand Down Expand Up @@ -158,6 +159,7 @@ void CalibQcTask::endOfCycle()

void CalibQcTask::endOfActivity(const Activity& /*activity*/)
{
reset();
}

void CalibQcTask::resetDisplayHistos()
Expand Down
10 changes: 2 additions & 8 deletions Modules/MUON/MID/src/ClustQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ void ClustQcTask::initialize(o2::framework::InitContext& /*ctx*/)
void ClustQcTask::startOfActivity(const Activity& /*activity*/)
{
ILOG(Info, Devel) << "startOfActivity" << ENDM;
reset();
}

void ClustQcTask::startOfCycle()
Expand Down Expand Up @@ -193,22 +194,15 @@ void ClustQcTask::monitorData(o2::framework::ProcessingContext& ctx)

void ClustQcTask::endOfCycle()
{
// ILOG(Info, Devel) << "endOfCycle" << ENDM;
// printf(" =================== > test endOfCycle Clust \n");
}

void ClustQcTask::endOfActivity(const Activity& /*activity*/)
{
// ILOG(Info, Devel) << "endOfActivity" << ENDM;
// printf(" =================== > test endOfActivity Clust \n");
reset();
}

void ClustQcTask::reset()
{
// clean all the monitor objects here

// ILOG(Info, Devel) << "Resetting the histogram" << ENDM;
// printf(" =================== > test reset Clust \n");
mNbClusterTF->Reset();

mClusterMap11->Reset();
Expand Down
43 changes: 37 additions & 6 deletions Modules/MUON/MID/src/DigitsQcCheck.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -120,23 +120,33 @@ Quality DigitsQcCheck::check(std::map<std::string, std::shared_ptr<MonitorObject
for (auto& item : *moMap) {
if (item.second->getName() == "LocalBoardsMap") {
if (mHistoHelper.getNTFs() > 0) {
int nEmptyLB = 0;
int nBadLB = 0;
nEmptyLB = 0;
nBadLB = 0;
maxVal = 0;
minVal = 1000;
auto histo = static_cast<TH2F*>(item.second->getObject());
mHistoHelper.normalizeHistoTokHz(histo);
for (int bx = 1; bx < 15; bx++) {
for (int by = 1; by < 37; by++) {
if (!((bx > 6) && (bx < 9) && (by > 15) && (by < 22))) { // central zone empty
double val = histo->GetBinContent(bx, by);
if (val > maxVal) {
maxVal = val;
}
if (val < minVal) {
minVal = val;
}
if (val == 0) {
nEmptyLB++;
} else if (val > mLocalBoardThreshold) {
nBadLB++;
}
if ((bx == 1) || (bx == 14) || (by == 1) || (by == 33))
by += 3; // zones 1 board
else if (!((bx > 4) && (bx < 11) && (by > 12) && (by < 25)))
by += 1; // zones 2 boards
if ((bx == 1) || (bx == 14) || (by == 1) || (by == 33)) {
by += 3;
} // zones 1 board
else if (!((bx > 4) && (bx < 11) && (by > 12) && (by < 25))) {
by += 1;
} // zones 2 boards
}
}
}
Expand All @@ -159,6 +169,27 @@ Quality DigitsQcCheck::check(std::map<std::string, std::shared_ptr<MonitorObject
mQualityMap[item.second->getName()] = qual;
} // if mNTFInSeconds > 0.
}
if (item.second->getName() == "NbLBEmpty") {
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
if (histo) {
histo->SetBins(1, nEmptyLB - 0.5, nEmptyLB + 0.5);
histo->Fill(nEmptyLB);
}
}
if (item.second->getName() == "NbLBHighRate") {
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
if (histo) {
histo->SetBins(1, nBadLB - 0.5, nBadLB + 0.5);
histo->Fill(nBadLB);
}
}
if (item.second->getName() == "LBHighRate") {
auto histo = dynamic_cast<TH1F*>(item.second->getObject());
if (histo) {
histo->SetBins(1, maxVal - 0.5, maxVal + 0.5);
histo->Fill(maxVal);
}
}
}
return result;
}
Expand Down
14 changes: 14 additions & 0 deletions Modules/MUON/MID/src/DigitsQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,15 @@ void DigitsQcTask::initialize(o2::framework::InitContext& /*ctx*/)
mROFTimeDiff->SetOption("colz");
getObjectsManager()->startPublishing(mROFTimeDiff.get());

mNbLBEmpty = std::make_unique<TH1F>("NbLBEmpty", "NbLocalBoardEmpty", 1, 0, 1.);
getObjectsManager()->startPublishing(mNbLBEmpty.get());

mNbLBHighRate = std::make_unique<TH1F>("NbLBHighRate", "NbLocalBoardHighRate", 1, 0, 1.);
getObjectsManager()->startPublishing(mNbLBHighRate.get());

mLBHighRate = std::make_unique<TH1F>("LBHighRate", "LocalBoardHigherRate", 1, 0, 1.);
getObjectsManager()->startPublishing(mLBHighRate.get());

std::array<string, 4> chId{ "11", "12", "21", "22" };

for (size_t ich = 0; ich < 5; ++ich) {
Expand Down Expand Up @@ -102,6 +111,7 @@ void DigitsQcTask::initialize(o2::framework::InitContext& /*ctx*/)

void DigitsQcTask::startOfActivity(const Activity& /*activity*/)
{
reset();
}

void DigitsQcTask::startOfCycle()
Expand Down Expand Up @@ -167,6 +177,7 @@ void DigitsQcTask::endOfCycle()

void DigitsQcTask::endOfActivity(const Activity& /*activity*/)
{
reset();
}

void DigitsQcTask::resetDisplayHistos()
Expand All @@ -188,6 +199,9 @@ void DigitsQcTask::reset()

mNbDigitTF->Reset();
mROFTimeDiff->Reset();
mNbLBEmpty->Reset();
mNbLBHighRate->Reset();
mLBHighRate->Reset();

for (auto& histo : mMultHitB) {
histo->Reset();
Expand Down
4 changes: 0 additions & 4 deletions Modules/MUON/MID/src/MIDTrending.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -132,10 +132,6 @@ void MIDTrending::generatePlots(repository::DatabaseInterface& qcdb)

for (const auto& plot : mConfig.plots) {

// TEST VR
// if (plot.varexp.find("binContent") == std::string::npos)
// continue;

mCanvasMID.push_back(std::make_unique<TCanvas>(plot.name.c_str(), plot.title.c_str()));
mCanvasMID[mPlot].get()->cd();

Expand Down
2 changes: 2 additions & 0 deletions Modules/MUON/MID/src/RawQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ void RawQcTask::startOfActivity(const Activity& /*activity*/)
{
ILOG(Info, Devel) << "startOfActivity" << ENDM;
// printf(" =================== > test startOfActivity RAW \n");
reset();
}

void RawQcTask::startOfCycle()
Expand Down Expand Up @@ -266,6 +267,7 @@ void RawQcTask::endOfActivity(const Activity& /*activity*/)
{
ILOG(Info, Devel) << "endOfActivity" << ENDM;
// printf(" =================== > test endOfActivity RAW \n");
reset();
}

void RawQcTask::reset()
Expand Down
24 changes: 12 additions & 12 deletions Modules/MUON/MID/src/TracksQcTask.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,10 @@ void TracksQcTask::initialize(o2::framework::InitContext& /*ctx*/)
mTrackPT->GetXaxis()->SetTitle("Track pT");
mTrackPT->GetYaxis()->SetTitle("Entry");

mTrackRatio44 = std::make_shared<TProfile>("TrackRatio44", "Track 44/all ", 9, 0., 9.);
// mTrackRatio44 = std::make_shared<TH1F>("TrackRatio44", "Track 44/all ", 9, 0., 9.);
mGTrackRatio44 = std::make_shared<TH1F>("GTrackRatio44", "Track 44/all ", 2, -0.5, 1.5);
getObjectsManager()->startPublishing(mGTrackRatio44.get());

mTrackRatio44 = std::make_shared<TProfile>("TrackRatio44", "Track 44/all", 9, 0., 9.);
getObjectsManager()->startPublishing(mTrackRatio44.get());
mTrackRatio44->GetXaxis()->SetBinLabel(1, "Global");
mTrackRatio44->GetXaxis()->SetBinLabel(2, "MT11 Bend");
Expand Down Expand Up @@ -266,23 +268,16 @@ void TracksQcTask::initialize(o2::framework::InitContext& /*ctx*/)
}
void TracksQcTask::startOfActivity(const Activity& activity)
{
// THUS FUNCTION BODY IS AN EXAMPLE. PLEASE REMOVE EVERYTHING YOU DO NOT NEED.
ILOG(Info, Devel) << "startOfActivity " << activity.mId << ENDM;
// printf(" =================== > test startOfActivity Tracks \n");
reset();
}

void TracksQcTask::startOfCycle()
{
// THUS FUNCTION BODY IS AN EXAMPLE. PLEASE REMOVE EVERYTHING YOU DO NOT NEED.
// ILOG(Info, Devel) << "startOfCycle" << ENDM;
// printf(" =================== > test startOfCycle Tracks \n");
}

void TracksQcTask::monitorData(o2::framework::ProcessingContext& ctx)
{
// ILOG(Info, Devel) << "monitorData" << ENDM;
// printf(" =================== > test monitorData Tracks\n");

auto tracks = ctx.inputs().get<gsl::span<o2::mid::Track>>("tracks");
auto rofs = ctx.inputs().get<gsl::span<o2::mid::ROFRecord>>("trackrofs");

Expand Down Expand Up @@ -367,10 +362,13 @@ void TracksQcTask::monitorData(o2::framework::ProcessingContext& ctx)
float DetEff = 0.;
if (EffFlag > 0) {
multTracksTot++;
if (HitMap == 0xFF)
if (HitMap == 0xFF) {
mTrackRatio44->Fill(0.5, 1.); // multTracks44Tot++;
else
mGTrackRatio44->Fill(1.);
} else {
mTrackRatio44->Fill(0.5, 0.);
mGTrackRatio44->Fill(0.);
}

// track.isFiredChamber(i,j) :: i=0->3 (MT11->MT22) ; j=0->1 (BP->NBP)
uint8_t HitMapB = HitMap & 0xF;
Expand Down Expand Up @@ -498,6 +496,7 @@ void TracksQcTask::endOfCycle()
void TracksQcTask::endOfActivity(const Activity& /*activity*/)
{
ILOG(Info, Devel) << "endOfActivity" << ENDM;
reset();
}

void TracksQcTask::reset()
Expand All @@ -519,6 +518,7 @@ void TracksQcTask::reset()
mTrackThetaD->Reset();
mTrackPT->Reset();
mTrackRatio44->Reset();
mGTrackRatio44->Reset();
mTrackBDetRatio44->Reset();
mTrackNBDetRatio44->Reset();
mTrackLocRatio44->Reset();
Expand Down

0 comments on commit 07bdae6

Please sign in to comment.