This package provides a framework for the digitization of all calorimetry subsystems.
The top-level class is the CaloTDigitizer, which exists to invoke first the CaloHitResponse, then the subdetector-specific ElectronicsSim.
The CaloHitResponse converts the SimHits into an analog signal. It requires as inputs a CaloSimParameterMap and a CaloVShape. Each SimHit is simply an energy deposit at a given time. The CaloHitResponse applies photostatistics, makes a pulse shape, and sums up the signals from all pulses in the channel, for all channels.
The CaloSimParameterMap is provides a channel-by-channel interface for some parameters which the digitization simulation expects. These parameters include conversion factors to go from -energy to average number of photoelectrons -photoelectrons to amplified signal amplitude -particle energy to simhit energy (sampling fraction) tuneable delay properties of the data frame, size, bin of maximum
The CaloVShape provides an interface for a pulse shapes.
The CaloVHitCorrection provides a way for users to make corrections to the SimHits on an individual basis. Some examples of applications might be for delays, attenuation, smearing, etc.
Stable
This package implements the electronics simulation for all HCAL subsystems: HB, HE, HO, & HF.
The parameters are mostly gotten from the calibration database. As of this writing, the pedestal values are: HB, HE, HO: 0.75 +/- 0.10 fC HF: 0.75 +/- 0.14 fC
and the gains are: HB, HE, HO: 0.177 +/- 0 GeV/fC HF: 0.058 +/- 0 GeV/fC (may change very soon!)
The sampling factor, the ratio of incoming energy to sim-hit energy is 117 in HB/HE, and 217 in HO. In HF, the SimHit units are photoelectrons. HF photoelectrons correspond to 2.84 GeV of energy in the longs fibers, and 2.09 GeV in the short fibers.
The photostatistics factor is 2000 pe/deposited GeV in HB/HE, and 4000 in HF.
The amplifier gain, which goes from photoelectrons to fC, is calculated using units: pe/fC = (pe/depositedGEV) * (depositedGeV/ inc GeV) * (GeV/fC), = photostat * sampling fraction * calibration gain This comes out to 0.33 fC/pe, or an amplification of 2000.
The HcalHitCorrection does time slew at the moment, where each SimHit is delayed according to its amplitude, according to the plots in the physics TDR. Low-energy hits are delayed by 10 ns, while higher-energy hits are delayed by only 3 ns. This effect can be turned off using the "doTimeSlew" parameter.
The HcalDigitizerTest is meant to be a standalone test of the digitization chain.
We'll start with an example of an incident particle of 100 GeV energy in the HB. The sampling factor is 117, so we expect the SimHit to have 0.855 GeV of energy.
We next convert to photoelectrons, giving 0.855 * 2000 = 1710. These photoelectrons are subjected to Poisson statistics. Next they go through the shaping to give a pulse, still in the units of photoelectrons: DetId=1107320961, 10samples 0:0 1:0 2:0 3:0 4:814.103 5:657.711 6:185.86 7:73.7753 8:31.0982 9:13.2264
This pulse is converted to fC by multiplying by the factor of 0.33 found above. Next, this analog signal is encoded, resulting in the following digi:
(HE 17,1,1) 10 samples 4 presamples ADC=4, capid=1, DV ADC=4, capid=2, DV ADC=4, capid=3, DV ADC=4, capid=0, DV ADC=58, capid=1, DV ADC=54, capid=2, DV ADC=33, capid=3, DV ADC=21, capid=0, DV ADC=14, capid=1, DV ADC=9, capid=2, DV
No noise has been added to this digi. Default running will add noise.
HF behaves similarly, except with a much narrower time peak. Here are the analog signals for a 100 GeV incident particle, in the long and short fibers, respectively:
DetId=1207987969, 6samples 0:0 1:0 2:0 3:35.2 4:0 5:0
DetId=1208004353, 6samples 0:0 1:0 2:0 3:47.8 4:0 5:0
and here are the corresponding (noiseless) digis
HF Frames (HF 30,1,1) 6 samples 3 presamples ADC=13, capid=0, DV ADC=13, capid=1, DV ADC=13, capid=2, DV ADC=93, capid=3, DV ADC=13, capid=0, DV ADC=13, capid=1, DV
(HF 30,1,2) 6 samples 3 presamples ADC=13, capid=0, DV ADC=13, capid=1, DV ADC=13, capid=2, DV ADC=93, capid=3, DV ADC=13, capid=0, DV ADC=13, capid=1, DV
Stable