Skip to content

Commit ebccdf0

Browse files
committed
Disambiguation of DPL input bindings
Input bindings should be unique, otherwise DPL devices cannot be combined into one. This commit is needed to combine ITS and MFT digitization into a single DPL device.
1 parent 3e39f81 commit ebccdf0

2 files changed

Lines changed: 15 additions & 14 deletions

File tree

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -88,19 +88,19 @@ DataProcessorSpec getDigitWriterSpec(bool mctruth, bool dec, bool calib, o2::hea
8888
MakeRootTreeWriterSpec::TreeAttributes{"o2sim", "Digits tree"},
8989
MakeRootTreeWriterSpec::CustomClose(finishWriting),
9090
// in case of labels we first read them as std::vector<char> and process them correctly in the fillLabels hook
91-
BranchDefinition<std::vector<char>>{InputSpec{"digitsMCTR", detOrig, "DIGITSMCTR", 0},
91+
BranchDefinition<std::vector<char>>{InputSpec{(detStr + "_digitsMCTR").c_str(), detOrig, "DIGITSMCTR", 0},
9292
(detStr + "DigitMCTruth").c_str(),
9393
(mctruth ? 1 : 0), fillLabels},
94-
BranchDefinition<std::vector<itsmft::MC2ROFRecord>>{InputSpec{"digitsMC2ROF", detOrig, "DIGITSMC2ROF", 0},
94+
BranchDefinition<std::vector<itsmft::MC2ROFRecord>>{InputSpec{(detStr + "_digitsMC2ROF").c_str(), detOrig, "DIGITSMC2ROF", 0},
9595
(detStr + "DigitMC2ROF").c_str(),
9696
(mctruth ? 1 : 0)},
97-
BranchDefinition<std::vector<itsmft::Digit>>{InputSpec{"digits", detOrig, "DIGITS", 0},
97+
BranchDefinition<std::vector<itsmft::Digit>>{InputSpec{(detStr + "digits").c_str(), detOrig, "DIGITS", 0},
9898
(detStr + "Digit").c_str(),
9999
logger},
100-
BranchDefinition<std::vector<itsmft::GBTCalibData>>{InputSpec{"calib", detOrig, "GBTCALIB", 0},
100+
BranchDefinition<std::vector<itsmft::GBTCalibData>>{InputSpec{(detStr + "calib").c_str(), detOrig, "GBTCALIB", 0},
101101
(detStr + "Calib").c_str(),
102102
(calib ? 1 : 0)},
103-
BranchDefinition<std::vector<itsmft::ROFRecord>>{InputSpec{"digitsROF", detOrig, "DIGITSROF", 0},
103+
BranchDefinition<std::vector<itsmft::ROFRecord>>{InputSpec{(detStr + "digitsROF").c_str(), detOrig, "DIGITSROF", 0},
104104
(detStr + "DigitROF").c_str()})();
105105
}
106106

Steer/DigitizerWorkflow/src/ITSMFTDigitizerSpec.cxx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,10 @@ class ITSMFTDPLDigitizerTask : BaseDPLDigitizer
196196
template <int DETID>
197197
void updateTimeDependentParams(ProcessingContext& pc)
198198
{
199-
pc.inputs().get<o2::itsmft::NoiseMap*>("noise");
200-
pc.inputs().get<o2::itsmft::NoiseMap*>("dead");
201-
pc.inputs().get<o2::itsmft::DPLAlpideParam<DETID>*>("alppar");
199+
std::string detstr(o2::detectors::DetID::getName(DETID));
200+
pc.inputs().get<o2::itsmft::NoiseMap*>(detstr + "_noise");
201+
pc.inputs().get<o2::itsmft::NoiseMap*>(detstr + "_dead");
202+
pc.inputs().get<o2::itsmft::DPLAlpideParam<DETID>*>(detstr + "_alppar");
202203

203204
auto& dopt = o2::itsmft::DPLDigitizerParam<DETID>::Instance();
204205
auto& aopt = o2::itsmft::DPLAlpideParam<DETID>::Instance();
@@ -319,9 +320,9 @@ DataProcessorSpec getITSDigitizerSpec(int channel, bool mctruth)
319320
<< o2::itsmft::DPLAlpideParam<ITSDPLDigitizerTask::DETID>::Instance();
320321
std::vector<InputSpec> inputs;
321322
inputs.emplace_back("collisioncontext", "SIM", "COLLISIONCONTEXT", static_cast<SubSpecificationType>(channel), Lifetime::Timeframe);
322-
inputs.emplace_back("noise", "ITS", "NOISEMAP", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/NoiseMap"));
323-
inputs.emplace_back("dead", "ITS", "DEADMAP", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/DeadMap"));
324-
inputs.emplace_back("alppar", "ITS", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("ITS/Config/AlpideParam"));
323+
inputs.emplace_back("ITS_noise", "ITS", "NOISEMAP", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/NoiseMap"));
324+
inputs.emplace_back("ITS_dead", "ITS", "DEADMAP", 0, Lifetime::Condition, ccdbParamSpec("ITS/Calib/DeadMap"));
325+
inputs.emplace_back("ITS_alppar", "ITS", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("ITS/Config/AlpideParam"));
325326

326327
return DataProcessorSpec{(detStr + "Digitizer").c_str(),
327328
inputs, makeOutChannels(detOrig, mctruth),
@@ -337,9 +338,9 @@ DataProcessorSpec getMFTDigitizerSpec(int channel, bool mctruth)
337338
std::stringstream parHelper;
338339
std::vector<InputSpec> inputs;
339340
inputs.emplace_back("collisioncontext", "SIM", "COLLISIONCONTEXT", static_cast<SubSpecificationType>(channel), Lifetime::Timeframe);
340-
inputs.emplace_back("noise", "MFT", "NOISEMAP", 0, Lifetime::Condition, ccdbParamSpec("MFT/Calib/NoiseMap"));
341-
inputs.emplace_back("dead", "MFT", "DEADMAP", 0, Lifetime::Condition, ccdbParamSpec("MFT/Calib/DeadMap"));
342-
inputs.emplace_back("alppar", "MFT", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("MFT/Config/AlpideParam"));
341+
inputs.emplace_back("MFT_noise", "MFT", "NOISEMAP", 0, Lifetime::Condition, ccdbParamSpec("MFT/Calib/NoiseMap"));
342+
inputs.emplace_back("MFT_dead", "MFT", "DEADMAP", 0, Lifetime::Condition, ccdbParamSpec("MFT/Calib/DeadMap"));
343+
inputs.emplace_back("MFT_alppar", "MFT", "ALPIDEPARAM", 0, Lifetime::Condition, ccdbParamSpec("MFT/Config/AlpideParam"));
343344
parHelper << "Params as " << o2::itsmft::DPLDigitizerParam<ITSDPLDigitizerTask::DETID>::getParamName().data() << ".<param>=value;... with"
344345
<< o2::itsmft::DPLDigitizerParam<ITSDPLDigitizerTask::DETID>::Instance()
345346
<< " or " << o2::itsmft::DPLAlpideParam<ITSDPLDigitizerTask::DETID>::getParamName().data() << ".<param>=value;... with"

0 commit comments

Comments
 (0)