Introduce common scheme of masking inactive channels in the simulation. Refs #2708.
See #2708. A measure to mask channels in the simulation was required, representing channels which were masked during data taking or were just defunct.
A common solution for all detector system was asked for. This could be implemented in the base classes CbmDigitizeBase and CbmDigitize. What is to be provided is a text file containing the CbmAddresses of all channels to be masked, one address per line. This has to be set to the digitizer with the method CbmDigitizeBase::SetInactiveChannelFile(constc char*).
To do so in the macro run_digi, the digitizer has to be instantised explicitely and registered to the digitization run, e.g.
CbmStsDigitize* stsDigi = new CbmStsDigitize();
stsDigi->SetInactiveChannelFile("sts_inact_chans.txt");
CbmDigitization run;
run.SetDigitzer(ECbmModuleId::kSts, stsDigi);
.... (Other settings for the digitization)
run. Run();
The STS has a special implementation since it requires two numbers to identify a channel (not only the address). I did not like to implement the same for all detectors, since it requires a map of sets then instead of a single set.
Merge request reports
Activity
changed milestone to %FEB23
added Simulation label
requested review from @f.uhlig
assigned to @f.uhlig
- Resolved by Florian Uhlig
- Resolved by Florian Uhlig
do I get it right that you handle the STS digis in the CreateDigi function of the STS digitizer whereas you handle all other digis in the SendData function of the base class?
Dear @f.uhlig, @v.friese, @p.-a.loizeau,
you have been identified as code owner of at least one file which was changed with this merge request.
Please check the changes and approve them or request changes.
added CodeOwners label
enabled an automatic merge when the pipeline for cb11b8c2 succeeds
mentioned in merge request !1078 (merged)