CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelSimParameters_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # This object is used to make configuration changes for different running
4 # scenarios, in this case for Run 2. See the code at the end of the
5 # SiPixelSimBlock definition.
6 from Configuration.StandardSequences.Eras import eras
7 
9  """
10  Function that modifies the pixel digitiser for Run 2 with 25ns bunchspacing.
11  First argument is the pixelDigitizer object.
12  """
13  # DynamicInefficency - 13TeV - 25ns case
14  digitizer.theInstLumiScaleFactor = cms.double(364)
15  digitizer.theLadderEfficiency_BPix1 = cms.vdouble( [1]*20 ) # this syntax makes an array with 20 copies of "1"
16  digitizer.theLadderEfficiency_BPix2 = cms.vdouble( [1]*32 )
17  digitizer.theLadderEfficiency_BPix3 = cms.vdouble( [1]*44 )
18  digitizer.theModuleEfficiency_BPix1 = cms.vdouble( 1, 1, 1, 1, )
19  digitizer.theModuleEfficiency_BPix2 = cms.vdouble( 1, 1, 1, 1, )
20  digitizer.theModuleEfficiency_BPix3 = cms.vdouble( 1, 1, 1, 1 )
21  digitizer.thePUEfficiency_BPix1 = cms.vdouble( 1.00023, -3.18350e-06, 5.08503e-10, -6.79785e-14 )
22  digitizer.thePUEfficiency_BPix2 = cms.vdouble( 9.99974e-01, -8.91313e-07, 5.29196e-12, -2.28725e-15 )
23  digitizer.thePUEfficiency_BPix3 = cms.vdouble( 1.00005, -6.59249e-07, 2.75277e-11, -1.62683e-15 )
24 
26  """
27  Function that modifies the pixel digitiser for Run 2 with 50ns bunchspacing.
28 
29  First argument is the pixelDigitizer object.
30  """
31  # DynamicInefficency - 13TeV - 50ns case
32  digitizer.theInstLumiScaleFactor = cms.double(246.4)
33  digitizer.theLadderEfficiency_BPix1 = cms.vdouble( [0.979259,0.976677]*10 ) # This syntax makes a 20 element array of alternating numbers
34  digitizer.theLadderEfficiency_BPix2 = cms.vdouble( [0.994321,0.993944]*16 )
35  digitizer.theLadderEfficiency_BPix3 = cms.vdouble( [0.996787,0.996945]*22 )
36 
37 SiPixelSimBlock = cms.PSet(
38  DoPixelAging = cms.bool(False),
39  ReadoutNoiseInElec = cms.double(350.0),
40  deltaProductionCut = cms.double(0.03),
41  RoutList = cms.vstring(
42  'TrackerHitsPixelBarrelLowTof',
43  'TrackerHitsPixelBarrelHighTof',
44  'TrackerHitsPixelEndcapLowTof',
45  'TrackerHitsPixelEndcapHighTof'),
46  OffsetSmearing = cms.double(0.0),
47  ThresholdInElectrons_FPix = cms.double(3000.0),
48  ThresholdInElectrons_BPix = cms.double(3500.0),
49  ThresholdInElectrons_BPix_L1 = cms.double(3500.0),
50  AddThresholdSmearing = cms.bool(True),
51  ThresholdSmearing_FPix = cms.double(210.0),
52  ThresholdSmearing_BPix = cms.double(245.0),
53  ThresholdSmearing_BPix_L1 = cms.double(245.0),
54  NoiseInElectrons = cms.double(175.0),
55  MissCalibrate = cms.bool(True),
56  FPix_SignalResponse_p0 = cms.double(0.0043),
57  FPix_SignalResponse_p1 = cms.double(1.31),
58  FPix_SignalResponse_p2 = cms.double(93.6),
59  FPix_SignalResponse_p3 = cms.double(134.6),
60  BPix_SignalResponse_p0 = cms.double(0.0035),
61  BPix_SignalResponse_p1 = cms.double(1.23),
62  BPix_SignalResponse_p2 = cms.double(97.4),
63  BPix_SignalResponse_p3 = cms.double(126.5),
64  ElectronsPerVcal = cms.double(65.5),
65  ElectronsPerVcal_Offset = cms.double(-414.0),
66  ElectronPerAdc = cms.double(135.0),
67  TofUpperCut = cms.double(12.5),
68  AdcFullScale = cms.int32(255),
69  AdcFullScaleStack = cms.int32(255),
70  FirstStackLayer = cms.int32(5),
71  TofLowerCut = cms.double(-12.5),
72  TanLorentzAnglePerTesla_FPix = cms.double(0.106),
73  TanLorentzAnglePerTesla_BPix = cms.double(0.106),
74  AddNoisyPixels = cms.bool(True),
75  Alpha2Order = cms.bool(True),
76  AddPixelInefficiency = cms.bool(True),
77  AddNoise = cms.bool(True),
78  ChargeVCALSmearing = cms.bool(True),
79  GainSmearing = cms.double(0.0),
80  PixGeometryType = cms.string('idealForDigi'),
81  useDB = cms.bool(False),
82  LorentzAngle_DB = cms.bool(True),
83  DeadModules_DB = cms.bool(True),
84  killModules = cms.bool(True),
85  NumPixelBarrel = cms.int32(3),
86  NumPixelEndcap = cms.int32(2),
87 DeadModules = cms.VPSet(
88  cms.PSet(Dead_detID = cms.int32(302055940), Module = cms.string("tbmB"))
89 ,cms.PSet(Dead_detID = cms.int32(302059800), Module = cms.string("whole"))
90 ,cms.PSet(Dead_detID = cms.int32(302121992), Module = cms.string("whole"))
91 ,cms.PSet(Dead_detID = cms.int32(302123296), Module = cms.string("whole"))
92 ,cms.PSet(Dead_detID = cms.int32(302125060), Module = cms.string("tbmA"))
93 ,cms.PSet(Dead_detID = cms.int32(302125076), Module = cms.string("tbmA"))
94 ,cms.PSet(Dead_detID = cms.int32(302126364), Module = cms.string("tbmB"))
95 ,cms.PSet(Dead_detID = cms.int32(302126596), Module = cms.string("whole"))
96 ,cms.PSet(Dead_detID = cms.int32(302127136), Module = cms.string("whole"))
97 ,cms.PSet(Dead_detID = cms.int32(302188552), Module = cms.string("whole"))
98 ,cms.PSet(Dead_detID = cms.int32(302188824), Module = cms.string("whole"))
99 ,cms.PSet(Dead_detID = cms.int32(302194200), Module = cms.string("whole"))
100 ,cms.PSet(Dead_detID = cms.int32(302195232), Module = cms.string("whole"))
101 ,cms.PSet(Dead_detID = cms.int32(302197252), Module = cms.string("whole"))
102 ,cms.PSet(Dead_detID = cms.int32(302197784), Module = cms.string("whole"))
103 ##forward
104 ,cms.PSet(Dead_detID = cms.int32(352453892), Module = cms.string("whole"))
105 ,cms.PSet(Dead_detID = cms.int32(352453896), Module = cms.string("whole"))
106 ,cms.PSet(Dead_detID = cms.int32(352453900), Module = cms.string("whole"))
107 ,cms.PSet(Dead_detID = cms.int32(352453904), Module = cms.string("whole"))
108 ,cms.PSet(Dead_detID = cms.int32(352454916), Module = cms.string("whole"))
109 ,cms.PSet(Dead_detID = cms.int32(352454920), Module = cms.string("whole"))
110 ,cms.PSet(Dead_detID = cms.int32(352454924), Module = cms.string("whole"))
111 ,cms.PSet(Dead_detID = cms.int32(352454928), Module = cms.string("whole"))
112 ,cms.PSet(Dead_detID = cms.int32(352455940), Module = cms.string("whole"))
113 ,cms.PSet(Dead_detID = cms.int32(352455944), Module = cms.string("whole"))
114 ,cms.PSet(Dead_detID = cms.int32(352455948), Module = cms.string("whole"))
115 ,cms.PSet(Dead_detID = cms.int32(352455952), Module = cms.string("whole"))
116 ,cms.PSet(Dead_detID = cms.int32(352454148), Module = cms.string("whole"))
117 ,cms.PSet(Dead_detID = cms.int32(352454152), Module = cms.string("whole"))
118 ,cms.PSet(Dead_detID = cms.int32(352454156), Module = cms.string("whole"))
119 ,cms.PSet(Dead_detID = cms.int32(352455172), Module = cms.string("whole"))
120 ,cms.PSet(Dead_detID = cms.int32(352455176), Module = cms.string("whole"))
121 ,cms.PSet(Dead_detID = cms.int32(352455180), Module = cms.string("whole"))
122 ,cms.PSet(Dead_detID = cms.int32(352456196), Module = cms.string("whole"))
123 ,cms.PSet(Dead_detID = cms.int32(352456200), Module = cms.string("whole"))
124 ,cms.PSet(Dead_detID = cms.int32(352456204), Module = cms.string("whole"))
125 ,cms.PSet(Dead_detID = cms.int32(343999748), Module = cms.string("whole"))
126 ,cms.PSet(Dead_detID = cms.int32(343999752), Module = cms.string("whole"))
127 ,cms.PSet(Dead_detID = cms.int32(343999756), Module = cms.string("whole"))
128 ,cms.PSet(Dead_detID = cms.int32(343999760), Module = cms.string("whole"))
129 ,cms.PSet(Dead_detID = cms.int32(344014340), Module = cms.string("whole"))
130 ,cms.PSet(Dead_detID = cms.int32(344014344), Module = cms.string("whole"))
131 ,cms.PSet(Dead_detID = cms.int32(344014348), Module = cms.string("whole"))
132 ,cms.PSet(Dead_detID = cms.int32(344019460), Module = cms.string("whole"))
133 ,cms.PSet(Dead_detID = cms.int32(344019464), Module = cms.string("whole"))
134 ,cms.PSet(Dead_detID = cms.int32(344019468), Module = cms.string("whole"))
135 ,cms.PSet(Dead_detID = cms.int32(344077572), Module = cms.string("whole"))
136 ,cms.PSet(Dead_detID = cms.int32(344077576), Module = cms.string("whole"))
137 ,cms.PSet(Dead_detID = cms.int32(344077580), Module = cms.string("whole"))
138 ,cms.PSet(Dead_detID = cms.int32(344077584), Module = cms.string("whole"))
139 ,cms.PSet(Dead_detID = cms.int32(344078596), Module = cms.string("whole"))
140 ,cms.PSet(Dead_detID = cms.int32(344078600), Module = cms.string("whole"))
141 ,cms.PSet(Dead_detID = cms.int32(344078604), Module = cms.string("whole"))
142 ,cms.PSet(Dead_detID = cms.int32(344078608), Module = cms.string("whole"))
143 ,cms.PSet(Dead_detID = cms.int32(344079620), Module = cms.string("whole"))
144 ,cms.PSet(Dead_detID = cms.int32(344079624), Module = cms.string("whole"))
145 ,cms.PSet(Dead_detID = cms.int32(344079628), Module = cms.string("whole"))
146 ,cms.PSet(Dead_detID = cms.int32(344079632), Module = cms.string("whole"))
147 ,cms.PSet(Dead_detID = cms.int32(344078852), Module = cms.string("whole"))
148 ,cms.PSet(Dead_detID = cms.int32(344078856), Module = cms.string("whole"))
149 ,cms.PSet(Dead_detID = cms.int32(344078860), Module = cms.string("whole"))
150 #,cms.PSet(Dead_detID = cms.int32(302187268), Module = cms.string("none"))
151 #,cms.PSet(Dead_detID = cms.int32(302195472), Module = cms.string("none"))
152 #,cms.PSet(Dead_detID = cms.int32(302128136), Module = cms.string("none"))
153 )
154 
155 ### DeadModules = cms.VPSet()
156 )
157 
158 #
159 # Apply the changes for the different Run 2 running scenarios
160 #
161 eras.run2_25ns_specific.toModify( SiPixelSimBlock, func=_modifyPixelDigitizerForRun2Bunchspacing25 )
162 eras.run2_50ns_specific.toModify( SiPixelSimBlock, func=_modifyPixelDigitizerForRun2Bunchspacing50 )
163 
164 # Threshold in electrons are the Official CRAFT09 numbers:
165 # FPix(smearing)/BPix(smearing) = 2480(160)/2730(200)
166 
167 #DEAD MODULES LIST: NEW LIST AFTER 2009 PIXEL REPAIRS
168 # https://twiki.cern.ch/twiki/bin/view/CMS/SiPixelQualityHistory
169 
170 ######Barrel
171 #Bad Module: 302055940 errorType 2 BadRocs=ff00
172 #Bad Module: 302059800 errorType 0 BadRocs=ffff
173 #Bad Module: 302121992 errorType 0 BadRocs=ffff
174 #BmI_SEC3_LYR2_LDR5F_MOD3 -- 302121992, "TBM-A"
175 #Bad Module: 302123296 errorType 0 BadRocs=ffff
176 #BpO_SEC1_LYR2_LDR1H_MOD4 -- 302123296, "whole"
177 #Bad Module: 302125060 errorType 1 BadRocs=ff
178 #Bad Module: 302125076 errorType 1 BadRocs=ff
179 #BpO_SEC4_LYR2_LDR8F_MOD1 -- 302125076, "TBM-A"
180 #Bad Module: 302126364 errorType 2 BadRocs=ff00
181 #BpO_SEC7_LYR2_LDR13F_MOD3 -- 302126364, "TBM-B"
182 #Bad Module: 302126596 errorType 0 BadRocs=ffff
183 #BmO_SEC7_LYR2_LDR14F_MOD4 -- 302126596, "whole"
184 #Bad Module: 302127136 errorType 0 BadRocs=ffff
185 #BpO_SEC8_LYR2_LDR16H_MOD4 -- 302127136, "whole"
186 #Bad Module: 302188552 errorType 0 BadRocs=ffff
187 #BmI_SEC2_LYR3_LDR4F_MOD3 -- 302188552, "whole"
188 #Bad Module: 302188824 errorType 0 BadRocs=ffff
189 #Bad Module: 302194200 errorType 0 BadRocs=ffff
190 #Bad Module: 302195232 errorType 0 BadRocs=ffff
191 #BpI_SEC8_LYR3_LDR22H_MOD4 -- 302195232, "whole"
192 #Bad Module: 302197252 errorType 0 BadRocs=ffff
193 #Bad Module: 302197784 errorType 0 BadRocs=ffff
194 #BpI_SEC5_LYR3_LDR12F_MOD2 -- 302197784, "whole"
195 
196 #####Forward
197 #Bad Module: 352453892 errorType 0 BadRocs=ffff
198 #Bad Module: 352453896 errorType 0 BadRocs=ffff
199 #Bad Module: 352453900 errorType 0 BadRocs=ffff
200 #Bad Module: 352453904 errorType 0 BadRocs=ffff
201 #Bad Module: 352454916 errorType 0 BadRocs=ffff
202 #Bad Module: 352454920 errorType 0 BadRocs=ffff
203 #Bad Module: 352454924 errorType 0 BadRocs=ffff
204 #Bad Module: 352454928 errorType 0 BadRocs=ffff
205 #Bad Module: 352455940 errorType 0 BadRocs=ffff
206 #Bad Module: 352455944 errorType 0 BadRocs=ffff
207 #Bad Module: 352455948 errorType 0 BadRocs=ffff
208 #Bad Module: 352455952 errorType 0 BadRocs=ffff
209 #Bad Module: 352454148 errorType 0 BadRocs=ffff
210 #Bad Module: 352454152 errorType 0 BadRocs=ffff
211 #Bad Module: 352454156 errorType 0 BadRocs=ffff
212 #Bad Module: 352455172 errorType 0 BadRocs=ffff
213 #Bad Module: 352455176 errorType 0 BadRocs=ffff
214 #Bad Module: 352455180 errorType 0 BadRocs=ffff
215 #Bad Module: 352456196 errorType 0 BadRocs=ffff
216 #Bad Module: 352456200 errorType 0 BadRocs=ffff
217 #Bad Module: 352456204 errorType 0 BadRocs=ffff
218 #Bad Module: 343999748 errorType 0 BadRocs=ffff
219 #Bad Module: 343999752 errorType 0 BadRocs=ffff
220 #Bad Module: 343999756 errorType 0 BadRocs=ffff
221 #Bad Module: 343999760 errorType 0 BadRocs=ffff
222 #Bad Module: 344014340 errorType 0 BadRocs=ffff
223 #Bad Module: 344014344 errorType 0 BadRocs=ffff
224 #Bad Module: 344014348 errorType 0 BadRocs=ffff
225 #BmO_DISK1_BLD9_PNL2 -- 344014340, 344014344, 344014348
226 #Bad Module: 344019460 errorType 0 BadRocs=ffff
227 #Bad Module: 344019464 errorType 0 BadRocs=ffff
228 #Bad Module: 344019468 errorType 0 BadRocs=ffff
229 #BmI_DISK1_BLD11_PNL2 -- 344019460, 344019464, 344019468
230 #Bad Module: 344077572 errorType 0 BadRocs=ffff
231 #Bad Module: 344077576 errorType 0 BadRocs=ffff
232 #Bad Module: 344077580 errorType 0 BadRocs=ffff
233 #Bad Module: 344077584 errorType 0 BadRocs=ffff
234 #Bad Module: 344078596 errorType 0 BadRocs=ffff
235 #Bad Module: 344078600 errorType 0 BadRocs=ffff
236 #Bad Module: 344078604 errorType 0 BadRocs=ffff
237 #Bad Module: 344078608 errorType 0 BadRocs=ffff
238 #Bad Module: 344079620 errorType 0 BadRocs=ffff
239 #Bad Module: 344079624 errorType 0 BadRocs=ffff
240 #Bad Module: 344079628 errorType 0 BadRocs=ffff
241 #Bad Module: 344079632 errorType 0 BadRocs=ffff
242 #Bad Module: 344078852 errorType 0 BadRocs=ffff
243 #Bad Module: 344078856 errorType 0 BadRocs=ffff
244 #Bad Module: 344078860 errorType 0 BadRocs=ffff
245 
246 #Barrel
247 #302187268, "none" (ROC 6)
248 #302195472, "none" (ROC 0)
249 #302128136, "none" (ROC 3)
250