Calorimeter Digitization
Complete:
Explains the algorithms used to digitize the Calorimetry subdetectors.
Contacts
Introduction
"Digitization" refers to the process of simulating the electronics signals
read out by the detector. Because the process is similar
in all the calorimetry subsystems, they use a unified framework,
found in the SimCalorimetry/CaloSimAlgos package.
As it has already been explained in the
Reference Manual
(select release, then follow the link for Standard Sequences), modeling of the digis of the whole Calorimetry system of the CMS detector has been grouped in a sequence of steps, called
calDigi. In its turn, this sequence is made of sub-sequences, called respectively
ecalDigiSequence and
hcalDigiSequence.
Below we give more details about each sub-sequence of steps and about the involved software components. This information will allow users to customize their applications, according to specific physics tasks.
ECAL Digitization
ECAL Digi process, grouped into a sub-sequence of steps called
ecalDigiSequence, consists of the following steps: conversion of the Geant4-simulated energy deposition in the channels into the electronics signal, plus simulation of the noise, in EB, EE, and ES (Preshower); modelling of the trigger primitives, and then selection of the channels where the signal exceeds specified threshold (zero suppression).
The 1st step is done by a single module, EcalDigiProducer, which is labeled simEcalUnsuppressedDigis. The 2nd step is done by EcalTrigPrimProducer, labeled simEcalTriggerPrimitiveDigis. The 3rd step is done by 2 different modules, EcalSelectiveReadoutProducer and ESZeroSuppressionProducer, labeled simEcalDigis and simEcalPreshowerDigis, respectively.
Naturally, each module comes with its set of configuration parameters, and can be customized to the needs of a specific application.
HCAL Digitization
An HCAL Digi represents the signal in one readout channel,
and consists of ten coded integers, each representing
charge deposited in a 25 ns time bin. The timing is
tuned to maximize the amount of charge in the fifth
and sixth time bins.
The process of simulating digis is called "digitization".
The input are SimHits from GEANT4, which represent the
total signal in a given readout channel in a nanosecond.
These SimHits are in units of
GeV for HB, HE, and HO,
and in units of photoelectrons for HF.
These SimHits amplitudes are first converted to photoelectrons.
In this conversion, we use the gains from the conditions
database to accurately model channel response, as well as
a ring-dependent "sampling factor", which represents the fraction of
energy deposited, typically around 120 for HB and 180 for HE.
The photoelectrons are then subject to Poisson statistics,
and have their timing adjusted to correct for time of flight.
Each group of photoelectrons is converted to an electronics
pulse in femtocoulombs, using known pulse shapes. The
pulses on a channel are superimposed. Noise is then
added, using correlated noise obtained from the
conditions database. Finally, the amplitudes are
encoded to become the digis, again, using the conditions database.
For more details, see
HcalSignalEvaluation.
Similar to ECAL, digitization of HCAL is a procedure composed of several steps, groupped together and labeled
simHcalDigiSequnce. Software modules used to perform this simulation are HcalDigiProducer,
HcalTrigPrimDigiProducer, and HcalSimpleAmplitudeZS, labeled respectively
simHcalUnsuppressedDigis,
simHcalTriggerPrimitiveDigis, and
simHcalDigis
Several Tips for Customizing Digitization
For most applications, it is sufficient to use standard sequence
pdigi, which in its turn includes
calDigi to cover all steps to simulated electronics responce in the whole CMS Calorimetry system.
However, based on recent discussion with the Jet/MET group, we are offering several tips on creating "custom" digitization in the ECAL and the HCAL.
For some specific studies it may be useful to eliminate zero-supression requirements from the modeling chain, and to proceed directly with the unsupressed ECAL and/or HCAL digis. In this case, a user should combine Tracker digitization,
trDigi, together with
simEcalUnsuppressedDigis and
simHcalUnsuppressedDigis, and follow them directly with the Muon system digitization,
muonDigi, for example:
sequence mydigi = { trDigi,simEcalUnsuppressedDigis,simHcalUnsuppressedDigis,muonDigi }
Users should also remember that the clustering algorithms, in the reconstruction stage, will by default expect on input branches labeled as simEcalDigis and simHcalDigis, that correspond to zero-suppressed digis. In order to make clustering work on the unsupressed ECAL and/or HCAL digis, users will need to customize clustering modules and provide the correct labels of branches they wish to use. Please refer to the Reconstruction Guide for further details.
One specific application that the Jet/MET group needed to proceed with assumed no-noise digitization. This can be done
doNoise
parameter that is present in both ECAL and HCAL digitizers. Example application can look as follows:
include "Configuration/StandardSequences/data/Digi.cff"
replace simEcalUnsuppressedDigis.doNoise = false
replace simHcalUnsuppressedDigis.doNoise = false
Review status
Responsible: Main.RickWilkinson
Last reviewed by: Most recent reviewer
--
RickWilkinson - 02 Apr 2008