Skip to content

Commit e3975c2

Browse files
victor-gonzalezVictor
andauthored
[PWGCF] DptDpt - Remove tracking the ITS dead chips (#10300)
Co-authored-by: Victor <victor@cern.ch>
1 parent 8690a3d commit e3975c2

File tree

2 files changed

+43
-53
lines changed

2 files changed

+43
-53
lines changed

PWGCF/TwoParticleCorrelations/Tasks/dptDptEfficiencyAndQc.cxx

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,10 @@ struct QADataCollectingEngine {
279279
int nPhiSectorBins = fhNchVsPhiVsPtPosB->GetNbinsY();
280280
float phiSectorLow = fhNchVsPhiVsPtNegB->GetYaxis()->GetBinLowEdge(1);
281281
float phiSectorHigh = fhNchVsPhiVsPtNegB->GetYaxis()->GetBinUpEdge(nPhiSectorBins);
282-
fhPerColNchVsPhiVsPtPosB = new TH2F("PerColNchVsPhiVsPtPosB", "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
283-
fhPerColNchVsPhiVsInnerWallMomPosB = new TH2F("PerColNchVsPhiVsInnerWallMomPosB", "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
284-
fhPerColNchVsPhiVsPtNegB = new TH2F("PerColNchVsPhiVsPtNegB", "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
285-
fhPerColNchVsPhiVsInnerWallMomNegB = new TH2F("PerColNchVsPhiVsInnerWallMomNegB", "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
282+
fhPerColNchVsPhiVsPtPosB = new TH2F(TString::Format("%s_PerColNchVsPhiVsPtPosB", dirname), "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
283+
fhPerColNchVsPhiVsInnerWallMomPosB = new TH2F(TString::Format("%s_PerColNchVsPhiVsInnerWallMomPosB", dirname), "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
284+
fhPerColNchVsPhiVsPtNegB = new TH2F(TString::Format("%s_PerColNchVsPhiVsPtNegB", dirname), "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
285+
fhPerColNchVsPhiVsInnerWallMomNegB = new TH2F(TString::Format("%s_PerColNchVsPhiVsInnerWallMomNegB", dirname), "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
286286
for (uint isp = 0; isp < nsp; ++isp) {
287287
fhPhiVsPtA[isp] = ADDHISTOGRAM(TH2, DIRECTORYSTRING("%s/%s/%s", dirname, "Reco", "After"), HNAMESTRING("PhiVsPt_%s", tnames[isp].c_str()), HTITLESTRING("#varphi %s (mod(2#pi/18))", tnames[isp].c_str()), kTH2F, {pidPtAxis, phiSectorAxis});
288288
fhNchVsPhiVsPtA[isp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, "Reco", "After"), HNAMESTRING("NchVsPhiVsPt_%s", tnames[isp].c_str()), HTITLESTRING("#it{N}_{ch}^{%s} #varphi (mod(2#pi/18))", tnames[isp].c_str()), kTH3F, {pidPtAxisReduced, phiSectorAxisReduced, nChargeAxis});
@@ -307,8 +307,8 @@ struct QADataCollectingEngine {
307307
fhPtVsEtaTpcTofA[isp] = ADDHISTOGRAM(TH2, DIRECTORYSTRING("%s/%s/%s", dirname, "Efficiency", "Reco"), HNAMESTRING("ptTpcTof_%s", tnames[isp].c_str()), HTITLESTRING("TPC&TOF %s tracks", tnames[isp].c_str()), kTH2F, {etaAxis, ptAxis});
308308
fhPtVsEtaItsTpcTofA[isp] = ADDHISTOGRAM(TH2, DIRECTORYSTRING("%s/%s/%s", dirname, "Efficiency", "Reco"), HNAMESTRING("ptItsTpcTof_%s", tnames[isp].c_str()), HTITLESTRING("ITS&TPC&TOF %s tracks", tnames[isp].c_str()), kTH2F, {etaAxis, ptAxis});
309309
/* per collision histograms not going to the results file */
310-
fhPerColNchVsPhiVsPtA[isp] = new TH2F(HNAMESTRING("PerColNchVsPhiVsPt_%s", tnames[isp].c_str()), "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
311-
fhPerColNchVsPhiVsInnerWallMomA[isp] = new TH2F(HNAMESTRING("PerColNchVsPhiVsInnerWallMom_%s", tnames[isp].c_str()), "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
310+
fhPerColNchVsPhiVsPtA[isp] = new TH2F(HNAMESTRING("%s_PerColNchVsPhiVsPt_%s", dirname, tnames[isp].c_str()), "", nPtBins, ptLow, ptHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
311+
fhPerColNchVsPhiVsInnerWallMomA[isp] = new TH2F(HNAMESTRING("%s_PerColNchVsPhiVsInnerWallMom_%s", dirname, tnames[isp].c_str()), "", nTpcIwMomBins, tpcIwMomLow, tpcIwMomHigh, nPhiSectorBins, phiSectorLow, phiSectorHigh);
312312
}
313313
} else {
314314
AxisSpec recoSpecies{static_cast<int>(nsp) + 1, -0.5, nsp - 0.5, "reco species"};
@@ -582,32 +582,38 @@ struct QAExtraDataCollectingEngine {
582582
/* pairs histograms */
583583
std::vector<std::vector<std::vector<std::shared_ptr<TH2>>>> fhPhiPhiA{2, {nsp, {nsp, nullptr}}};
584584
std::vector<std::vector<std::vector<std::shared_ptr<TH3>>>> fhDeltaPhiVsPhiPhiA{2, {nsp, {nsp, nullptr}}};
585+
std::vector<std::vector<std::vector<std::shared_ptr<TH3>>>> fhDeltaPhiVsEtaEtaA{2, {nsp, {nsp, nullptr}}};
585586
std::vector<std::vector<std::vector<std::shared_ptr<TH2>>>> fhEtaEtaA{2, {nsp, {nsp, nullptr}}};
586587
std::vector<std::vector<std::vector<std::shared_ptr<TH3>>>> fhDeltaEtaVsEtaEtaA{2, {nsp, {nsp, nullptr}}};
588+
std::vector<std::vector<std::vector<std::shared_ptr<TH3>>>> fhDeltaEtaVsPhiPhiA{2, {nsp, {nsp, nullptr}}};
587589

588590
template <efficiencyandqatask::KindOfData kindOfData>
589591
void init(HistogramRegistry& registry, const char* dirname)
590592
{
591593
using namespace efficiencyandqatask;
592594
using namespace analysis::dptdptfilter;
593595

594-
AxisSpec phiAxis = {72, 0.0f, constants::math::TwoPI, "#varphi"};
595-
AxisSpec deltaPhiAxis = {72, 0.0f, constants::math::TwoPI, "#Delta#varphi"};
596+
AxisSpec phiAxis = {phibins, 0.0f, constants::math::TwoPI, "#varphi"};
597+
AxisSpec deltaPhiAxis = {phibins, 0.0f, constants::math::TwoPI, "#Delta#varphi"};
596598
AxisSpec etaAxis = {etabins, etalow, etaup, "#eta"};
597-
AxisSpec deltaEta = {2 * etabins - 1, etalow - etaup, etaup - etalow, "#DeltaEta"};
599+
AxisSpec deltaEtaAxis = {2 * etabins - 1, etalow - etaup, etaup - etalow, "#DeltaEta"};
598600

599601
/* the reconstructed and generated levels histograms */
600602
std::string recogen = (kindOfData == kReco) ? "Reco" : "Gen";
601603
for (uint isp = 0; isp < nsp; ++isp) {
602604
for (uint jsp = 0; jsp < nsp; ++jsp) {
603605
fhPhiPhiA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH2, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("PhiPhi_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
604606
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH2F, {phiAxis, phiAxis});
605-
fhDeltaPhiVsPhiPhiA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("deltaPhiVsPhiPhi_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
607+
fhDeltaPhiVsPhiPhiA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("DeltaPhiVsPhiPhi_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
606608
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH3F, {phiAxis, phiAxis, deltaPhiAxis});
609+
fhDeltaEtaVsPhiPhiA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("DeltaEtaVsPhiPhi_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
610+
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH3F, {phiAxis, phiAxis, deltaEtaAxis});
607611
fhEtaEtaA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH2, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("EtaEta_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
608612
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH2F, {etaAxis, etaAxis});
609-
fhDeltaEtaVsEtaEtaA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("deltaPhiVsEtaEta_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
610-
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH3F, {phiAxis, phiAxis, deltaPhiAxis});
613+
fhDeltaEtaVsEtaEtaA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("DeltaEtaVsEtaEta_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
614+
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH3F, {etaAxis, etaAxis, deltaEtaAxis});
615+
fhDeltaPhiVsEtaEtaA[kindOfData][isp][jsp] = ADDHISTOGRAM(TH3, DIRECTORYSTRING("%s/%s/%s", dirname, recogen.c_str(), "After"), HNAMESTRING("DeltaPhiVsEtaEta_%s%s", tnames[isp].c_str(), tnames[jsp].c_str()),
616+
HTITLESTRING("%s%s pairs", tnames[isp].c_str(), tnames[jsp].c_str()), kTH3F, {etaAxis, etaAxis, deltaPhiAxis});
611617
}
612618
}
613619
}
@@ -630,8 +636,10 @@ struct QAExtraDataCollectingEngine {
630636
float deltaEta = track1.eta() - track2.eta();
631637
fhPhiPhiA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.phi(), track2.phi());
632638
fhDeltaPhiVsPhiPhiA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.phi(), track2.phi(), deltaPhi);
639+
fhDeltaEtaVsPhiPhiA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.phi(), track2.phi(), deltaEta);
633640
fhEtaEtaA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.eta(), track2.eta());
634641
fhDeltaEtaVsEtaEtaA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.eta(), track2.eta(), deltaEta);
642+
fhDeltaPhiVsEtaEtaA[kindOfData][track1.trackacceptedid()][track2.trackacceptedid()]->Fill(track1.eta(), track2.eta(), deltaPhi);
635643
}
636644
}
637645
}
@@ -933,6 +941,16 @@ struct DptDptEfficiencyAndQc {
933941
HistogramRegistry registryEight{"registryEight", {}, OutputObjHandlingPolicy::AnalysisObject};
934942
HistogramRegistry registryNine{"registryNine", {}, OutputObjHandlingPolicy::AnalysisObject};
935943
HistogramRegistry registryTen{"registryTen", {}, OutputObjHandlingPolicy::AnalysisObject};
944+
HistogramRegistry registryExtraOne{"extraregistryOne", {}, OutputObjHandlingPolicy::AnalysisObject};
945+
HistogramRegistry registryExtraTwo{"extraregistryTwo", {}, OutputObjHandlingPolicy::AnalysisObject};
946+
HistogramRegistry registryExtraThree{"extraregistryThree", {}, OutputObjHandlingPolicy::AnalysisObject};
947+
HistogramRegistry registryExtraFour{"extraregistryFour", {}, OutputObjHandlingPolicy::AnalysisObject};
948+
HistogramRegistry registryExtraFive{"extraregistryFive", {}, OutputObjHandlingPolicy::AnalysisObject};
949+
HistogramRegistry registryExtraSix{"extraregistrySix", {}, OutputObjHandlingPolicy::AnalysisObject};
950+
HistogramRegistry registryExtraSeven{"extraregistrySeven", {}, OutputObjHandlingPolicy::AnalysisObject};
951+
HistogramRegistry registryExtraEight{"extraregistryEight", {}, OutputObjHandlingPolicy::AnalysisObject};
952+
HistogramRegistry registryExtraNine{"extraregistryNine", {}, OutputObjHandlingPolicy::AnalysisObject};
953+
HistogramRegistry registryExtraTen{"extraregistryTen", {}, OutputObjHandlingPolicy::AnalysisObject};
936954
HistogramRegistry registryPidOne{"pidregistryOne", {}, OutputObjHandlingPolicy::AnalysisObject};
937955
HistogramRegistry registryPidTwo{"pidregistryTwo", {}, OutputObjHandlingPolicy::AnalysisObject};
938956
HistogramRegistry registryPidThree{"pidregistryThree", {}, OutputObjHandlingPolicy::AnalysisObject};
@@ -943,9 +961,11 @@ struct DptDptEfficiencyAndQc {
943961
HistogramRegistry registryPidEight{"pidregistryEight", {}, OutputObjHandlingPolicy::AnalysisObject};
944962
HistogramRegistry registryPidNine{"pidregistryNine", {}, OutputObjHandlingPolicy::AnalysisObject};
945963
HistogramRegistry registryPidTen{"pidregistryTen", {}, OutputObjHandlingPolicy::AnalysisObject};
946-
std::vector<HistogramRegistry*> registrybank{&registryOne, &registryTwo, &registryThree, &registryFour, &registryFive,
964+
std::vector<HistogramRegistry*> registryBank{&registryOne, &registryTwo, &registryThree, &registryFour, &registryFive,
947965
&registrySix, &registrySeven, &registryEight, &registryNine, &registryTen};
948-
std::vector<HistogramRegistry*> pidregistrybank{&registryPidOne, &registryPidTwo, &registryPidThree, &registryPidFour, &registryPidFive,
966+
std::vector<HistogramRegistry*> extraRegistryBank{&registryExtraOne, &registryExtraTwo, &registryExtraThree, &registryExtraFour, &registryExtraFive,
967+
&registryExtraSix, &registryExtraSeven, &registryExtraEight, &registryExtraNine, &registryExtraTen};
968+
std::vector<HistogramRegistry*> pidRegistryBank{&registryPidOne, &registryPidTwo, &registryPidThree, &registryPidFour, &registryPidFive,
949969
&registryPidSix, &registryPidSeven, &registryPidEight, &registryPidNine, &registryPidTen};
950970

951971
Configurable<bool> useCentrality{"useCentrality", false, "Perform the task using centrality/multiplicity classes. Default value: false"};
@@ -987,6 +1007,7 @@ struct DptDptEfficiencyAndQc {
9871007
getTaskOptionValue(initContext, "dpt-dpt-filter", "binning.mEtabins", etabins, false);
9881008
getTaskOptionValue(initContext, "dpt-dpt-filter", "binning.mEtamin", etalow, false);
9891009
getTaskOptionValue(initContext, "dpt-dpt-filter", "binning.mEtamax", etaup, false);
1010+
getTaskOptionValue(initContext, "dpt-dpt-filter", "binning.mPhibins", phibins, false);
9901011

9911012
/* configuring the involved species */
9921013
std::vector<std::string> cfgnames = {"elpidsel", "mupidsel", "pipidsel", "kapidsel", "prpidsel"};
@@ -1071,37 +1092,37 @@ struct DptDptEfficiencyAndQc {
10711092
pidExtraDataCE = new PidExtraDataCollectingEngine*[ncmranges];
10721093
}
10731094
std::string recogen;
1074-
if (ncmranges > registrybank.size()) {
1095+
if (ncmranges > registryBank.size()) {
10751096
LOGF(fatal, "There are more centrality ranges configured than registries in the bank. Please fix it!");
10761097
}
10771098
/* in reverse order for proper order in results file */
10781099
for (uint i = 0; i < ncmranges; ++i) {
1079-
auto initializeCEInstance = [&](auto dce, auto name, auto& registry) {
1100+
auto initializeCEInstance = [&](auto dce, auto name, auto& registry, bool genlevel) {
10801101
/* crete the output list for the passed centrality/multiplicity range */
10811102
/* init the data collection instance */
10821103
dce->template init<kReco>(registry, name.Data());
1083-
if (doprocessGeneratorLevelNotStored) {
1104+
if (genlevel) {
10841105
dce->template init<kGen>(registry, name.Data());
10851106
}
10861107
};
10871108
auto buildQACEInstance = [&](float min, float max) {
10881109
auto* dce = new QADataCollectingEngine();
1089-
initializeCEInstance(dce, TString::Format("EfficiencyAndQaData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *registrybank[i]);
1110+
initializeCEInstance(dce, TString::Format("EfficiencyAndQaData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *registryBank[i], doprocessGeneratorLevelNotStored);
10901111
return dce;
10911112
};
10921113
auto buildQACEExtraInstance = [&](float min, float max) {
10931114
auto* dce = new QAExtraDataCollectingEngine();
1094-
initializeCEInstance(dce, TString::Format("EfficiencyAndQaExtraData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *registrybank[i]);
1115+
initializeCEInstance(dce, TString::Format("EfficiencyAndQaExtraData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *extraRegistryBank[i], doprocessExtraGeneratorLevelNotStored);
10951116
return dce;
10961117
};
10971118
auto buildPidCEInstance = [&](float min, float max) {
10981119
auto* dce = new PidDataCollectingEngine();
1099-
initializeCEInstance(dce, TString::Format("EfficiencyAndPidData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *pidregistrybank[i]);
1120+
initializeCEInstance(dce, TString::Format("EfficiencyAndPidData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *pidRegistryBank[i], doprocessGeneratorLevelNotStored);
11001121
return dce;
11011122
};
11021123
auto buildPidExtraCEInstance = [&](float min, float max) {
11031124
auto* dce = new PidExtraDataCollectingEngine();
1104-
initializeCEInstance(dce, TString::Format("EfficiencyAndPidData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *pidregistrybank[i]);
1125+
initializeCEInstance(dce, TString::Format("EfficiencyAndPidData-%d-%d", static_cast<int>(min), static_cast<int>(max)), *pidRegistryBank[i], doprocessGeneratorLevelNotStored);
11051126
return dce;
11061127
};
11071128
/* in reverse order for proper order in results file */

PWGCF/TwoParticleCorrelations/Tasks/dptDptPerRunQc.cxx

Lines changed: 1 addition & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ namespace perrunqctask
4646
{
4747
static const int32_t nBCsPerOrbit = o2::constants::lhc::LHCMaxBunches;
4848
std::unordered_map<int, TH2*> gHadronicRate;
49-
std::unordered_map<int, std::vector<std::shared_ptr<TH2>>> gDeadChipsVsOrbitInLayer;
5049
std::unordered_map<int, std::shared_ptr<TH1>> gCollisionOrbitBefore;
5150
std::unordered_map<int, std::shared_ptr<TH1>> gCollisionOrbitAfter;
5251

@@ -82,7 +81,7 @@ struct DptDptPerRunQc {
8281
const AxisSpec axisSeconds{static_cast<int>(maxSec - mMinSeconds), 0, maxSec - mMinSeconds, "Seconds since SOR"};
8382
gHadronicRate[mRunNumber] = mHistos.add<TH2>(Form("%i/hadronicRate", mRunNumber), ";Time since SOR (s);Hadronic rate (kHz)", kTH2D, {{static_cast<int>((maxSec - mMinSeconds) / 20.f), 0, maxSec - mMinSeconds, "Seconds since SOR"}, {1010, 0., 1010.}}).get();
8483

85-
/* initializing the ITS chips dead map*/
84+
/* initializing the ITS chips dead map orbit axis*/
8685
/* inspired in DPG/Tasks/AOTEvent/eventSelectionQa.cxx */
8786
auto runInfo = o2::parameters::AggregatedRunInfo::buildAggregatedRunInfo(o2::ccdb::BasicCCDBManager::instance(), mRunNumber);
8887
int64_t tsSOR = runInfo.sor;
@@ -92,38 +91,8 @@ struct DptDptPerRunQc {
9291
if (itsDeadMapOrbits.size() > 0) {
9392
std::vector<double> itsDeadMapOrbitsDouble(itsDeadMapOrbits.begin(), itsDeadMapOrbits.end());
9493
const AxisSpec axisItsDeadMapOrbits{itsDeadMapOrbitsDouble};
95-
gDeadChipsVsOrbitInLayer[mRunNumber] = std::vector<std::shared_ptr<TH2>>(o2::itsmft::ChipMappingITS::NLayers, nullptr);
96-
for (int layer = 0; layer < o2::itsmft::ChipMappingITS::NLayers; ++layer) {
97-
int nChips = o2::itsmft::ChipMappingITS::getNChipsOnLayer(layer);
98-
double idFirstChip = o2::itsmft::ChipMappingITS::getFirstChipsOnLayer(layer);
99-
gDeadChipsVsOrbitInLayer[mRunNumber][layer] = mHistos.add<TH2>(TString::Format("%d/Before/hDeadChipsVsOrbitInLayer%d", mRunNumber, layer),
100-
TString::Format("Dead chips in ITS layer %d, before;orbit; chip", layer),
101-
kTH2C, {axisItsDeadMapOrbits, {nChips, idFirstChip, idFirstChip + nChips}});
102-
}
10394
gCollisionOrbitBefore[mRunNumber] = mHistos.add<TH1>(TString::Format("%d/Before/hCollisionOrbitB", mRunNumber), "Collision orbit before; orbit", kTH1I, {axisItsDeadMapOrbits});
10495
gCollisionOrbitAfter[mRunNumber] = mHistos.add<TH1>(TString::Format("%d/After/hCollisionOrbitA", mRunNumber), "Collision orbit; orbit", kTH1I, {axisItsDeadMapOrbits});
105-
LOGF(info, "Created the histograms");
106-
107-
std::vector<uint16_t> vClosest;
108-
for (const auto& orbit : itsDeadMapOrbits) {
109-
itsDeadMap->getMapAtOrbit(orbit, vClosest);
110-
for (size_t iel = 0; iel < vClosest.size(); iel++) {
111-
// dead chips are stored as ranges
112-
// vClosest contains first and last chip ids in the range
113-
// last chip id in the range is marked with 0x8000 bit set to 1
114-
uint16_t w1 = vClosest[iel];
115-
bool isLastInSequence = (w1 & 0x8000) == 0;
116-
uint16_t w2 = isLastInSequence ? w1 + 1 : vClosest[iel + 1];
117-
uint16_t chipId1 = w1 & 0x7FFF;
118-
uint16_t chipId2 = w2 & 0x7FFF;
119-
for (int chipId = chipId1; chipId < chipId2; chipId++) {
120-
for (int layer = 0; layer < o2::itsmft::ChipMappingITS::NLayers; ++layer) {
121-
gDeadChipsVsOrbitInLayer[mRunNumber][layer]->Fill(orbit, chipId, 1);
122-
}
123-
}
124-
}
125-
}
126-
LOGF(info, "Initializing the current ones");
12796
gCurrentCollisionOrbitBefore = gCollisionOrbitBefore[mRunNumber];
12897
gCurrentCollisionOrbitAfter = gCollisionOrbitAfter[mRunNumber];
12998
} else {

0 commit comments

Comments
 (0)