Skip to content

Extend EcalCollector to CaloCollector with multiple calorimeters

Michal Mazurek requested to merge mimazure-update-collectors into master

@mrama @landerli @gcorti @kreps @adavis

This MR consists of the following changes:

  1. This makes the EcalCollector applicable to other calorimeters. The class has been renamed to CaloCollector. The default detector is ECAL and hence no other changes are needed in the options provided so far.
  2. Added time info for MCCaloHots.
  3. (update 10/02/22) added support for multiple calorimeters at once
  4. (update 10/02/22) added MCCollector that writes a tuple with particle info only

DoubleCaloCollector and 20 MCCollectors

The following changes in the options (example: https://gitlab.cern.ch/mimazure/gausstrainingsample/-/blob/master/options/FastSimulationTraining-ECAL-Minbias-Upgrade.py) are needed to add a DoubleCaloCollector (Ecal & Hcal) and 20 MCCollectors:

external.Moni = {
    'EcalCollector': {
        'Type': 'DoubleCaloCollector',
        'CaloLocation1': "/dd/Structure/LHCb/DownstreamRegion/Ecal", # default is Ecal, so not needed, but added for verbosity
        'CaloHits1': "MC/Ecal/Hits", # default is Ecal, so not needed, but added for verbosity
        'CaloLocation2': "/dd/Structure/LHCb/DownstreamRegion/Hcal", # default is Ecal
        'CaloHits2': "MC/Hcal/Hits", # default is Ecal
    },
}
for i in range(20):
    external.Moni['Collector_{}'.format(i)] = {
        'Type': 'MCCollector',
    }

calocollector_minbias_xy

calocollector_minbias_zy

Edited by Michal Mazurek

Merge request reports