CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Calorimetry_cff.py
Go to the documentation of this file.
2 
3 #Global fast calorimetry parameters
7 FamosCalorimetryBlock = cms.PSet(
8  Calorimetry = cms.PSet(
9  HSParameterBlock,
10  HCALResponseBlock,
11  ECAL = cms.PSet(
12  # See FastSimulation/CaloRecHitsProducer/python/CaloRecHits_cff.py
13  Digitizer = cms.untracked.bool(False),
14  # If set to true the simulation in ECAL would be done 1X0 by 1X0
15  # this is slow but more adapted to detailed studies.
16  # Otherwise roughty 5 steps are used.
17  bFixedLength = cms.bool(False),
18 
19  # For the core 10% of the spots for
20  CoreIntervals = cms.vdouble(100.0, 0.1),
21  # change the radius of the tail of the shower
22  RTFactor = cms.double(1.0),
23  # change the radius of the core of the shower
24  RCFactor = cms.double(1.0),
25  # For the tail 10% of r<1RM. 100% otherwise
26  TailIntervals = cms.vdouble(1.0, 0.1, 100.0, 1.0),
27  FrontLeakageProbability = cms.double(1.0),
28  GridSize = cms.int32(7),
29  # change globally the Moliere radius
30 
31 
32  ### changed after tuning - Feb - July - Shilpi Jain
33  #RadiusFactor = cms.double(1.096),
34  RadiusFactorEB = cms.double(1.096),
35  RadiusFactorEE = cms.double(1.25),
36  ### changed after tuning - Feb - July - Shilpi Jain
37 
38  RadiusPreshowerCorrections = cms.vdouble(0.137, 10.3), # default value for maxshower depth dependence-->works fine
39  MipsinGeV = cms.vdouble(0.0001421,0.0000812), # increase in mipsinGeV by 75% only in layer1
40  #SpotFraction < 0 <=> deactivated. In the case, CoreIntervals and
41  #TailIntervals are used
42  SpotFraction = cms.double(-1.0),
43  GapLossProbability = cms.double(0.9),
44  SimulatePreshower = cms.bool(True)
45  ),
46  CalorimeterProperties = cms.PSet(
47  # triplet for each p value: p, k_e(p), k_h(p) ...
48  RespCorrP = cms.vdouble(1.0, 1.0, 1.0, 1000.0, 1.0, 1.0),
49  PreshowerLayer2_thickness = cms.double(0.38), # layer2 thickness back to original
50  ECALEndcap_LightCollection = cms.double(0.023),
51  PreshowerLayer1_thickness = cms.double(1.65), # increase in thickness of layer 1 by 3%
52  PreshowerLayer1_mipsPerGeV = cms.double(17.85), # 50% decrease in mipsperGeV
53  PreshowerLayer2_mipsPerGeV = cms.double(59.5),
54  ECALBarrel_LightCollection = cms.double(0.03),
55  HadronicCalorimeterProperties= cms.PSet(
56  HCAL_Sampling = cms.double(0.0035),
57  # Watch out ! The following two values are defined wrt the electron shower simulation
58  # There are not directly related to the detector properties
59  HCAL_PiOverE = cms.double(0.2),
60  # HCAL_PiOverE = cms.double(0.4)
61  HCALAeff= cms.double(63.546),
62  HCALZeff= cms.double(29.),
63  HCALrho= cms.double(8.960),
64 
65  HCALradiationLengthIncm= cms.double(1.43),
66  HCALradLenIngcm2= cms.double(12.86),
67  HCALmoliereRadius= cms.double(1.712),
68  HCALcriticalEnergy= cms.double(18.63E-3),
69  HCALinteractionLength= cms.double(15.05),
70 
71  HCALetatow=cms.vdouble( 0.000, 0.087, 0.174, 0.261, 0.348, 0.435, 0.522, 0.609, 0.696, 0.783, 0.870, 0.957, 1.044, 1.131, 1.218, 1.305, 1.392, 1.479, 1.566, 1.653, 1.740, 1.830, 1.930, 2.043, 2.172, 2.322, 2.500, 2.650, 2.853, 3.000, 3.139, 3.314, 3.489, 3.664, 3.839, 4.013, 4.191, 4.363, 4.538, 4.716, 4.889, 5.191),
72  HCALDepthLam=cms.vdouble( 8.930, 9.001, 9.132, 8.912, 8.104, 8.571, 8.852, 9.230, 9.732, 10.29, 10.95, 11.68, 12.49, 12.57, 12.63, 6.449, 5.806, 8.973, 8.934, 8.823, 8.727, 8.641, 8.565, 8.496, 8.436, 8.383, 8.346, 8.307, 8.298, 8.281, 9.442, 9.437, 9.432, 9.429, 9.432, 9.433, 9.430, 9.437, 9.442, 9.446, 9.435)
73  ),
74 
75  BarrelCalorimeterProperties = cms.PSet(
76 
77  #====== Geometrical material properties ========
78 
79  # Light Collection efficiency
80  lightColl = cms.double(0.03),
81  # Light Collection uniformity
82  lightCollUnif = cms.double(0.003),
83  # Photostatistics (photons/GeV) in the homegeneous material
84  photoStatistics = cms.double(50.E3),
85  # Thickness of the detector in cm
86  thickness = cms.double(23.0),
87 
88  #====== Global parameters of the material ========
89 
90  # Interaction length in cm
91  interactionLength = cms.double(18.5),
92  Aeff = cms.double(170.87),
93  Zeff = cms.double(68.36),
94  rho = cms.double(8.280),
95  # Radiation length in g/cm^2
96  radLenIngcm2 = cms.double(7.37),
97 
98  # ===== Those parameters might be entered by hand
99  # or calculated out of the previous ones
100 
101  # Radiation length in cm. If value set to -1, FastSim uses internally the
102  # formula radLenIngcm2/rho
103  radLenIncm = cms.double(0.89),
104  # Critical energy in GeV. If value set to -1, FastSim uses internally the
105  # formula (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for ECAL EndCap
106  criticalEnergy = cms.double(8.74E-3),
107  # Moliere Radius in cm.If value set to -1, FastSim uses internally the
108  # formula : Es/criticalEnergy*X0 with Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV
109  # This value is known to be 2.190 cm for ECAL Endcap, but the formula gives 2.159 cm
110  moliereRadius = cms.double(2.190),
111 
112  #====== Parameters for sampling ECAL ========
113 
114  # Sampling Fraction: Fs = X0eff/(da+dp) where X0eff is the average X0
115  # of the active and passive media and da/dp their thicknesses
116  Fs = cms.double(0.0),
117 
118  # e/mip for the calorimeter. May be estimated by 1./(1+0.007*(Zp-Za))
119  ehat = cms.double(0.0),
120 
121  # a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
122  # it is used to generate Nspots in radial profiles.
123  resE = cms.double(1.),
124 
125  # the width in cm of the active layer
126  da = cms.double(0.2),
127 
128  # the width in cm of the passive layer
129  dp = cms.double(0.8),
130 
131  # Is a homogenious detector?
132  bHom = cms.bool(True),
133 
134  # Activate the LogDebug
135  debug = cms.bool(False)
136 
137  ),
138 
139  EndcapCalorimeterProperties = cms.PSet(
140 
141  #====== Geometrical material properties ========
142 
143  # Light Collection efficiency
144  lightColl = cms.double(0.023),
145  # Light Collection uniformity
146  lightCollUnif = cms.double(0.003),
147  # Photostatistics (photons/GeV) in the homegeneous material
148  photoStatistics = cms.double(50.E3),
149  # Thickness of the detector in cm
150  thickness = cms.double(22.0),
151 
152  #====== Global parameters of the material ========
153 
154  # Interaction length in cm
155  interactionLength = cms.double(18.5),
156  Aeff = cms.double(170.87),
157  Zeff = cms.double(68.36),
158  rho = cms.double(8.280),
159  # Radiation length in g/cm^2
160  radLenIngcm2 = cms.double(7.37),
161 
162  # ===== Those parameters might be entered by hand
163  # or calculated out of the previous ones
164 
165  # Radiation length in cm. If value set to -1, FastSim uses internally the
166  # formula radLenIngcm2/rho
167  radLenIncm = cms.double(0.89),
168  # Critical energy in GeV. If value set to -1, FastSim uses internally the
169  # formula (2.66E-3*(x0*Z/A)^1.1): 8.74E-3 for ECAL EndCap
170  criticalEnergy = cms.double(8.74E-3),
171  # Moliere Radius in cm.If value set to -1, FastSim uses internally the
172  # formula : Es/criticalEnergy*X0 with Es=sqrt(4*Pi/alphaEM)*me*c^2=0.0212 GeV
173  # This value is known to be 2.190 cm for ECAL Endcap, but the formula gives 2.159 cm
174  moliereRadius = cms.double(2.190),
175 
176 
177  #====== Parameters for sampling ECAL ========
178 
179  # Sampling Fraction: Fs = X0eff/(da+dp) where X0eff is the average X0
180  # of the active and passive media and da/dp their thicknesses
181  Fs = cms.double(0.0),
182 
183  # e/mip for the calorimeter. May be estimated by 1./(1+0.007*(Zp-Za))
184  ehat = cms.double(0.0),
185 
186  # a rough estimate of ECAL resolution sigma/E = resE/sqrt(E)
187  # it is used to generate Nspots in radial profiles.
188  resE = cms.double(1.),
189 
190  # the width in cm of the active layer
191  da = cms.double(0.2),
192 
193  # the width in cm of the passive layer
194  dp = cms.double(0.8),
195 
196  # Is a homogenious detector?
197  bHom = cms.bool(True),
198 
199  # Activate the LogDebug
200  debug = cms.bool(False)
201 
202  )
203 
204  ),
205  Debug = cms.untracked.bool(False),
206  useDQM = cms.untracked.bool(False),
207 # EvtsToDebug = cms.untracked.vuint32(487),
208  HCAL = cms.PSet(
209  SimMethod = cms.int32(0), ## 0 - use HDShower, 1 - use HDRShower, 2 - GFLASH
210  GridSize = cms.int32(7),
211  #-- 0 - simple response, 1 - parametrized response + showering, 2 - tabulated response + showering
212  SimOption = cms.int32(2),
213  Digitizer = cms.untracked.bool(False),
214 
215  samplingHBHE = cms.vdouble(125.44, 125.54, 125.32, 125.13, 124.46,
216  125.01, 125.22, 125.48, 124.45, 125.90,
217  125.83, 127.01, 126.82, 129.73, 131.83,
218  143.52, # HB
219  210.55, 197.93, 186.12, 189.64, 189.63,
220  190.28, 189.61, 189.60, 190.12, 191.22,
221  190.90, 193.06, 188.42, 188.42), #HE
222  samplingHF = cms.vdouble(0.383, 0.368),
223  samplingHO = cms.vdouble(231.0, 231.0, 231.0, 231.0, 360.0,
224  360.0, 360.0, 360.0, 360.0, 360.0,
225  360.0, 360.0, 360.0, 360.0, 360.0),
226 
227  ietaShiftHB = cms.int32(1),
228  timeShiftHB = cms.vdouble(6.9, 6.9, 7.1, 7.1, 7.3, 7.5, 7.9, 8.3, 8.7, 9.1, 9.5, 10.3, 10.9, 11.5, 12.3, 14.1),
229  ietaShiftHE = cms.int32(16),
230  timeShiftHE = cms.vdouble(16.9, 15.7, 15.3, 15.3, 15.1, 14.9, 14.7, 14.7, 14.5, 14.5, 14.3, 14.3, 14.5, 13.9),
231  ietaShiftHO = cms.int32(1),
232  timeShiftHO = cms.vdouble(13.7, 13.7, 13.9, 14.1, 15.1, 15.7, 16.5, 17.3, 18.1, 19.1, 20.3, 21.9, 23.3, 25.5, 26.1),
233  ietaShiftHF = cms.int32(29),
234  timeShiftHF = cms.vdouble(50.7, 52.5, 52.9, 53.9, 54.5, 55.1, 55.1, 55.7, 55.9, 56.1, 56.1, 56.1, 56.5),
235  )
236  ),
237  GFlash = cms.PSet(
238  GflashExportToFastSim = cms.bool(True),
239  GflashHadronPhysics = cms.string('QGSP_BERT'),
240  GflashEMShowerModel = cms.bool(False),
241  GflashHadronShowerModel = cms.bool(True),
242  GflashHcalOuter = cms.bool(False),
243  GflashHistogram = cms.bool(False),
244  GflashHistogramName = cms.string('gflash_histogram.root'),
245  Verbosity = cms.untracked.int32(0),
246  bField = cms.double(3.8),
247  watcherOn = cms.bool(False),
248  tuning_pList = cms.vdouble()
249  )
250 )
251 
252 if(CaloMode == 1 ):
253  FamosCalorimetryBlock.Calorimetry.ECAL.Digitizer = True
254 
255 if(CaloMode == 2 ):
256  FamosCalorimetryBlock.Calorimetry.HCAL.Digitizer = True
257 
258 if(CaloMode == 3 ):
259  FamosCalorimetryBlock.Calorimetry.ECAL.Digitizer = True
260  FamosCalorimetryBlock.Calorimetry.HCAL.Digitizer = True
if(dp >Float(M_PI)) dp-