Skip to content

Introduce common scheme of masking inactive channels in the simulation. Refs #2708.

Volker Friese requested to merge v.friese/cbmroot:channel_mask into master

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