Skip to content

Commit d399bee

Browse files
authored
ITS - Dead Map Workflow allows for saving single chips (#13898)
1 parent 0d3b460 commit d399bee

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

Detectors/ITSMFT/common/workflow/include/ITSMFTWorkflow/DeadMapBuilderSpec.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ class ITSMFTDeadMapBuilder : public Task
8383
bool mRunMFT = false;
8484
bool mDoLocalOutput = false;
8585
bool mSkipStaticMap = false;
86+
bool mNoGroupITSLanes = false;
8687
uint16_t N_CHIPS;
8788
uint16_t N_CHIPS_ITSIB = o2::itsmft::ChipMappingITS::getNChips(0);
8889
int mTFLength = 32; // TODO find utility for proper value -- o2::base::GRPGeomHelper::getNHBFPerTF() returns 128 see https://github.com/AliceO2Group/AliceO2/blob/051b56f9f136e7977e83f5d26d922db9bd6ecef5/Detectors/Base/src/GRPGeomHelper.cxx#L233 and correct also default option is getSpec

Detectors/ITSMFT/common/workflow/src/DeadMapBuilderSpec.cxx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ void ITSMFTDeadMapBuilder::init(InitContext& ic)
6363

6464
mLocalOutputDir = ic.options().get<std::string>("output-dir");
6565
mSkipStaticMap = ic.options().get<bool>("skip-static-map");
66+
mNoGroupITSLanes = ic.options().get<bool>("no-group-its-lanes");
6667

6768
isEnded = false;
6869
mTimeStart = o2::ccdb::getCurrentTimestamp();
@@ -245,16 +246,15 @@ void ITSMFTDeadMapBuilder::run(ProcessingContext& pc)
245246
}
246247
}
247248

248-
// do AND operation before unmasking the full ITS lane
249-
249+
// Save status of single chips in static map before unmasking the full ITS lane
250250
if (!mSkipStaticMap) {
251251
for (size_t el = 0; el < mStaticChipStatus.size(); el++) {
252252
mStaticChipStatus[el] = mStaticChipStatus[el] || ChipStatus[el];
253253
}
254254
}
255255

256-
// for ITS, declaring dead only chips belonging to lane with no hits
257-
if (!mRunMFT) {
256+
// for ITS, if requested: declaring dead only chips belonging to lanes with no alive chips
257+
if (!mRunMFT && !mNoGroupITSLanes) {
258258
for (uint16_t el = N_CHIPS_ITSIB; el < ChipStatus.size(); el++) {
259259
if (ChipStatus.at(el)) {
260260
std::vector<uint16_t> chipincable = getChipIDsOnSameCable(el);
@@ -441,6 +441,7 @@ DataProcessorSpec getITSMFTDeadMapBuilderSpec(std::string datasource, bool doMFT
441441
{"tf-sampling-history-size", VariantType::Int, 1000, {"Do not check if new TF is contained in a window that is older than N steps."}},
442442
{"tf-length", VariantType::Int, 32, {"Orbits per TF."}},
443443
{"skip-static-map", VariantType::Bool, false, {"Do not fill static part of the map."}},
444+
{"no-group-its-lanes", VariantType::Bool, false, {"Do not group ITS OB chips into lanes."}},
444445
{"ccdb-url", VariantType::String, "", {"CCDB url. Ignored if endOfStream is processed."}},
445446
{"outfile", VariantType::String, objectname_default, {"ROOT object file name."}},
446447
{"local-output", VariantType::Bool, false, {"Save ROOT tree file locally."}},

0 commit comments

Comments
 (0)