Skip to content

Commit 4102cde

Browse files
authored
masked halfchambers for the HC map (#1820)
* QCtasks multiple fixes * QCtasks multiple fixes_1 * maskedchambers * removedthez-lab
1 parent d4bc7ce commit 4102cde

2 files changed

Lines changed: 41 additions & 13 deletions

File tree

Modules/TRD/include/TRD/TrackletsTask.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ class TrackletsTask final : public TaskInterface
7171
TH1F* mTrackletPosition = nullptr;
7272
TH1F* mTrackletPositionRaw = nullptr;
7373
TH1F* mTrackletsPerEvent = nullptr;
74-
TH2F* mTrackletsPerEvent2D = nullptr;
74+
TH2F* mTrackletsPerHC2D = nullptr;
7575
std::array<TH2F*, 18> moHCMCMn;
7676
TH1F* mTrackletSlopen = nullptr;
7777
TH1F* mTrackletSlopeRawn = nullptr;

Modules/TRD/src/TrackletsTask.cxx

Lines changed: 40 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -148,29 +148,57 @@ void TrackletsTask::buildHistograms()
148148
getObjectsManager()->startPublishing(mTrackletPositionRaw);
149149
mTrackletsPerEvent = new TH1F("trackletsperevent", "Number of Tracklets per event;Tracklets in Event;Counts", 25000, 0, 25000);
150150
getObjectsManager()->startPublishing(mTrackletsPerEvent);
151-
mTrackletsPerEvent2D = new TH2F("trackletsperevent2d", "Tracklets distribution in half-chambers;Sector_Side;Stack_Side;Number of tracklets per half-chamber", 36, 0, 36, 30, 0, 30);
152-
getObjectsManager()->startPublishing(mTrackletsPerEvent2D);
153-
getObjectsManager()->setDefaultDrawOptions("trackletsperevent2d", "COLZ");
154-
getObjectsManager()->setDisplayHint(mTrackletsPerEvent2D->GetName(), "logz");
155-
mTrackletsPerEvent2D->GetXaxis()->SetTitle("Sector_Side");
156-
mTrackletsPerEvent2D->GetXaxis()->CenterTitle(kTRUE);
157-
mTrackletsPerEvent2D->GetYaxis()->SetTitle("Stack_Layer");
158-
mTrackletsPerEvent2D->GetYaxis()->CenterTitle(kTRUE);
151+
mTrackletsPerHC2D = new TH2F("trackletsperHC2D", "Tracklets distribution in half-chambers;Sector_Side;Stack_Side", 36, 0, 36, 30, 0, 30);
152+
mTrackletsPerHC2D->SetStats(0);
153+
mTrackletsPerHC2D->GetXaxis()->SetTitle("Sector_Side");
154+
mTrackletsPerHC2D->GetXaxis()->CenterTitle(kTRUE);
155+
mTrackletsPerHC2D->GetYaxis()->SetTitle("Stack_Layer");
156+
mTrackletsPerHC2D->GetYaxis()->CenterTitle(kTRUE);
159157
for (int s = 0; s < o2::trd::constants::NSTACK; ++s) {
160158
for (int l = 0; l < o2::trd::constants::NLAYER; ++l) {
161159
std::string label = fmt::format("{0}_{1}", s, l);
162160
int pos = s * o2::trd::constants::NLAYER + l + 1;
163-
mTrackletsPerEvent2D->GetYaxis()->SetBinLabel(pos, label.c_str());
161+
mTrackletsPerHC2D->GetYaxis()->SetBinLabel(pos, label.c_str());
164162
}
165163
}
166164
for (int sm = 0; sm < o2::trd::constants::NSECTOR; ++sm) {
167165
for (int side = 0; side < 2; ++side) {
168166
std::string label = fmt::format("{0}_{1}", sm, side == 0 ? "A" : "B");
169167
int pos = sm * 2 + side + 1;
170-
mTrackletsPerEvent2D->GetXaxis()->SetBinLabel(pos, label.c_str());
168+
mTrackletsPerHC2D->GetXaxis()->SetBinLabel(pos, label.c_str());
171169
}
172170
}
173171

172+
// Mask known inactive halfchambers in the active chamber map
173+
TLine* line[6];
174+
std::pair<int, int> x, y;
175+
for (int iHC = 0; iHC < o2::trd::constants::NCHAMBER * 2; ++iHC) {
176+
if (mChamberStatus != nullptr) {
177+
if (mChamberStatus->isMasked(iHC)) {
178+
int stackLayer = o2::trd::HelperMethods::getStack(iHC / 2) * o2::trd::constants::NLAYER + o2::trd::HelperMethods::getLayer(iHC / 2);
179+
int sectorSide = (iHC / o2::trd::constants::NHCPERSEC) * 2 + (iHC % 2);
180+
x.first = sectorSide;
181+
x.second = sectorSide + 1;
182+
y.first = stackLayer;
183+
y.second = stackLayer + 1;
184+
185+
line[0] = new TLine(x.first, y.first, x.second, y.second);
186+
line[1] = new TLine(x.second, y.first, x.first, y.second);
187+
line[2] = new TLine(x.first, y.first, x.second, y.first);
188+
line[3] = new TLine(x.first, y.second, x.second, y.second);
189+
line[4] = new TLine(x.first, y.first, x.first, y.second);
190+
line[5] = new TLine(x.second, y.first, x.second, y.second);
191+
for (int i = 0; i < 6; ++i) {
192+
line[i]->SetLineColor(kBlack);
193+
mTrackletsPerHC2D->GetListOfFunctions()->Add(line[i]);
194+
}
195+
}
196+
}
197+
}
198+
getObjectsManager()->startPublishing(mTrackletsPerHC2D);
199+
getObjectsManager()->setDefaultDrawOptions("trackletsperHC2D", "COLZ");
200+
getObjectsManager()->setDisplayHint(mTrackletsPerHC2D->GetName(), "logz");
201+
174202
for (Int_t sm = 0; sm < o2::trd::constants::NSECTOR; ++sm) {
175203
std::string label = fmt::format("TrackletHCMCMnoise_{0}", sm);
176204
std::string title = fmt::format("MCM in Tracklets data stream for sector {0} noise in;mcm in rob in layer;ROB in stack", sm);
@@ -413,7 +441,7 @@ void TrackletsTask::monitorData(o2::framework::ProcessingContext& ctx)
413441
int hcid = tracklets[currenttracklet].getHCID();
414442
int stackLayer = o2::trd::HelperMethods::getStack(hcid / 2) * o2::trd::constants::NLAYER + o2::trd::HelperMethods::getLayer(hcid / 2);
415443
int sectorSide = (hcid / o2::trd::constants::NHCPERSEC) * 2 + (hcid % 2);
416-
mTrackletsPerEvent2D->Fill(sectorSide, stackLayer);
444+
mTrackletsPerHC2D->Fill(sectorSide, stackLayer);
417445
// 8 rob x 16 mcm each per chamber
418446
// 5 stack(y), 6 layers(x)
419447
// y=stack_rob, x=layer_mcm
@@ -488,7 +516,7 @@ void TrackletsTask::reset()
488516
mTrackletPosition->Reset();
489517
mTrackletPositionRaw->Reset();
490518
mTrackletsPerEvent->Reset();
491-
mTrackletsPerEvent2D->Reset();
519+
mTrackletsPerHC2D->Reset();
492520
for (auto h : moHCMCMn) {
493521
h->Reset();
494522
}

0 commit comments

Comments
 (0)