Calorimeter Digitization

Complete: 1

Explains the algorithms used to digitize the Calorimetry subdetectors.



"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

Reviewer/Editor and Date (copy from screen) Comments
KatiLassilaPerini - 23 Jan 2007 created template page

Responsible: Main.RickWilkinson
Last reviewed by: Most recent reviewer

-- RickWilkinson - 02 Apr 2008

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2008-06-11 - RickWilkinson
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CMSPublic All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback