test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
hgcalDigitizer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # Base configurations for HGCal digitizers
4 
5 # ECAL
6 hgceeDigitizer = cms.PSet(
7  accumulatorType = cms.string("HGCDigiProducer"),
8  hitCollection = cms.string("HGCHitsEE"),
9  digiCollection = cms.string("HGCDigisEE"),
10  maxSimHitsAccTime = cms.uint32(100),
11  bxTime = cms.double(25),
12  tofDelay = cms.double(1),
13  digitizationType = cms.uint32(0),
14  makeDigiSimLinks = cms.bool(False),
15  useAllChannels = cms.bool(True),
16  verbosity = cms.untracked.uint32(0),
17  digiCfg = cms.PSet(
18  keV2fC = cms.double(0.042),
19  noise_fC = cms.double(0.336),
20  doTimeSamples = cms.bool(False),
21  feCfg = cms.PSet(
22  # 0 only ADC, 1 ADC with pulse shape, 2 ADC+TDC with pulse shape
23  fwVersion = cms.uint32(2),
24  # leakage to bunches -2, -1, in-time, +1, +2, +3 (from J. Kaplon)
25  adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
26  pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
27  # n bits for the ADC
28  adcNbits = cms.uint32(10),
29  # ADC saturation
30  adcSaturation_fC = cms.double(100),
31  # the tdc resolution smearing (in picoseconds)
32  tdcResolutionInPs = cms.double( 0.001 ),
33  # LSB for TDC, assuming 12 bit dynamic range to 10 pC
34  tdcNbits = cms.uint32(12),
35  # TDC saturation
36  tdcSaturation_fC = cms.double(10000),
37  # raise threshold flag (~MIP/2)
38  adcThreshold_fC = cms.double(1.175),
39  # raise usage of TDC and mode flag (from J. Kaplon)
40  tdcOnset_fC = cms.double(60) ,
41  # LSB for time of arrival estimate from TDC in ns
42  toaLSB_ns = cms.double(0.005),
43  #toa computation mode (0=by weighted energy, 1=simple threshold)
44  toaMode = cms.uint32(1),
45  # TDC charge drain parameterisation (from J. Kaplon)
46  tdcChargeDrainParameterisation = cms.vdouble(
47  -919.13, 365.36, -14.10, 0.2,
48  -21.85, 49.39, 22.21, 0.8,
49  -0.28, 27.14, 43.95,
50  3.89048 )
51  )
52  )
53  )
54 
55 # HCAL front
56 hgchefrontDigitizer = cms.PSet(
57  accumulatorType = cms.string("HGCDigiProducer"),
58  hitCollection = cms.string("HGCHitsHEfront"),
59  digiCollection = cms.string("HGCDigisHEfront"),
60  maxSimHitsAccTime = cms.uint32(100),
61  bxTime = cms.double(25),
62  tofDelay = cms.double(1),
63  digitizationType = cms.uint32(0),
64  makeDigiSimLinks = cms.bool(False),
65  useAllChannels = cms.bool(True),
66  verbosity = cms.untracked.uint32(0),
67  digiCfg = cms.PSet(
68  keV2fC = cms.double(0.042),
69  noise_fC = cms.double(0.336),
70  doTimeSamples = cms.bool(False),
71  feCfg = cms.PSet(
72  # 0 only ADC, 1 ADC with pulse shape, 2 ADC+TDC with pulse shape
73  fwVersion = cms.uint32(2),
74  # leakage to bunches -2, -1, in-time, +1, +2, +3 (from J. Kaplon)
75  adcPulse = cms.vdouble(0.00, 0.017, 0.817, 0.163, 0.003, 0.000),
76  pulseAvgT = cms.vdouble(0.00, 23.42298,13.16733,6.41062,5.03946,4.5320),
77  # n bits for the ADC
78  adcNbits = cms.uint32(10),
79  # ADC saturation
80  adcSaturation_fC = cms.double(100),
81  # the tdc resolution smearing (in picoseconds)
82  tdcResolutionInPs = cms.double( 0.001 ),
83  # LSB for TDC, assuming 12 bit dynamic range to 10 pC
84  tdcNbits = cms.uint32(12),
85  # TDC saturation
86  tdcSaturation_fC = cms.double(10000),
87  # raise threshold flag (~MIP/2)
88  adcThreshold_fC = cms.double(1.76),
89  # raise usage of TDC and mode flag (from J. Kaplon)
90  tdcOnset_fC = cms.double(60) ,
91  # LSB for time of arrival estimate from TDC in ns
92  toaLSB_ns = cms.double(0.005),
93  #toa computation mode (0=by weighted energy, 1=simple threshold)
94  toaMode = cms.uint32(1),
95  # TDC charge drain parameterisation (from J. Kaplon)
96  tdcChargeDrainParameterisation = cms.vdouble(
97  -919.13, 365.36, -14.10, 0.2,
98  -21.85, 49.39, 22.21, 0.8,
99  -0.28, 27.14, 43.95,
100  3.89048)
101  )
102  )
103  )
104 
105 
106 # HCAL back (CALICE-like version, no pulse shape)
107 hgchebackDigitizer = cms.PSet(
108  accumulatorType = cms.string("HGCDigiProducer"),
109  hitCollection = cms.string("HGCHitsHEback"),
110  digiCollection = cms.string("HGCDigisHEback"),
111  maxSimHitsAccTime = cms.uint32(100),
112  bxTime = cms.double(25),
113  tofDelay = cms.double(1),
114  digitizationType = cms.uint32(1),
115  makeDigiSimLinks = cms.bool(False),
116  useAllChannels = cms.bool(True),
117  verbosity = cms.untracked.uint32(0),
118  digiCfg = cms.PSet(
119  keV2MIP = cms.double(1./1498.4),
120  noise_MIP = cms.double(0.20),
121  doTimeSamples = cms.bool(False),
122  nPEperMIP = cms.double(11.0),
123  nTotalPE = cms.double(1156), #1156 pixels => saturation ~600MIP
124  xTalk = cms.double(0.25),
125  sdPixels = cms.double(3.0),
126  feCfg = cms.PSet(
127  # 0 only ADC, 1 ADC with pulse shape, 2 ADC+TDC with pulse shape
128  fwVersion = cms.uint32(0),
129  # n bits for the ADC
130  adcNbits = cms.uint32(12),
131  # ADC saturation : in this case we use the same variable but fC=MIP
132  adcSaturation_fC = cms.double(1024),
133  # threshold for digi production : in this case we use the same variable but fC=MIP
134  adcThreshold_fC = cms.double(1.0)
135  )
136  )
137  )
138