CMS 3D CMS Logo

g4SimHits_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
5 
7 
8 
10 
11 
12 from Configuration.Eras.Modifier_h2tb_cff import h2tb
13 
14 
15 
16 common_heavy_suppression = cms.PSet(
17  NeutronThreshold = cms.double(30.0),
18  ProtonThreshold = cms.double(30.0),
19  IonThreshold = cms.double(30.0)
20 )
21 
22 common_maximum_time = cms.PSet(
23  MaxTrackTime = cms.double(500.0), # ns
24  MaxTrackTimeForward = cms.double(2000.0), # ns
25  MaxTimeNames = cms.vstring(),
26  MaxTrackTimes = cms.vdouble(), # ns
27  MaxZCentralCMS = cms.double(50.0), # m
28  DeadRegions = cms.vstring('QuadRegion','InterimRegion'),
29  CriticalEnergyForVacuum = cms.double(2.0), # MeV
30  CriticalDensity = cms.double(1e-15) # g/cm3
31 )
32 
33 h2tb.toModify(common_maximum_time,
34  MaxTrackTime = cms.double(1000.0),
35  DeadRegions = cms.vstring()
36 )
37 
38 common_UsePMT = cms.PSet(
39  UseR7600UPMT = cms.bool(False)
40 )
41 
42 common_UseHF = cms.PSet(
43  Lambda1 = cms.double(280.0),
44  Lambda2 = cms.double(700.0),
45  Gain = cms.double(0.33),
46  CheckSurvive = cms.bool(False),
47  FibreR = cms.double(0.3)
48 )
49 
50 common_UseLuminosity = cms.PSet(
51  InstLuminosity = cms.double(0.),
52  DelivLuminosity = cms.double(5000.)
53 )
54 
55 common_MCtruth = cms.PSet(
56  DoFineCalo = cms.bool(False),
57  SaveCaloBoundaryInformation = cms.bool(False),
58  # currently unused; left in place for future studies
59  EminFineTrack = cms.double(10000.0),
60  FineCaloNames = cms.vstring('ECAL', 'HCal', 'HGCal', 'HFNoseVol', 'VCAL'),
61  FineCaloLevels = cms.vint32(4, 4, 8, 3, 3),
62  UseFineCalo = cms.vint32(2, 3),
63 )
64 
65 
66 from Configuration.ProcessModifiers.fineCalo_cff import fineCalo
67 fineCalo.toModify(common_MCtruth,
68  DoFineCalo = True,
69  UseFineCalo = [2],
70  EminFineTrack = 0.0,
71 )
72 
73 
74 from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
75 phase2_hgcal.toModify(common_MCtruth,
76  SaveCaloBoundaryInformation = True
77 )
78 
79 g4SimHits = cms.EDProducer("OscarMTProducer",
80  g4GeometryDD4hepSource = cms.bool(False),
81  NonBeamEvent = cms.bool(False),
82  EventVerbose = cms.int32(0),
83  UseMagneticField = cms.bool(True),
84  UseCommandBaseScorer = cms.bool(False),
85  StoreRndmSeeds = cms.bool(False),
86  RestoreRndmSeeds = cms.bool(False),
87  PhysicsTablesDirectory = cms.untracked.string('PhysicsTables'),
88  StorePhysicsTables = cms.untracked.bool(False),
89  RestorePhysicsTables = cms.untracked.bool(False),
90  UseParametrisedEMPhysics = cms.untracked.bool(True),
91  ThresholdForGeometryExceptions = cms.double(0.1),
92  TraceExceptions = cms.bool(False),
93  DefaultVoxelDensity = cms.double(2.0),
94  VoxelRegions = cms.vstring(),
95  VoxelDensityPerRegion = cms.vdouble(),
96  CheckGeometry = cms.untracked.bool(False),
97  OnlySDs = cms.vstring('ZdcSensitiveDetector', 'TotemT2ScintSensitiveDetector', 'TotemSensitiveDetector', 'RomanPotSensitiveDetector', 'PLTSensitiveDetector', 'MuonSensitiveDetector', 'MtdSensitiveDetector', 'BCM1FSensitiveDetector', 'EcalSensitiveDetector', 'CTPPSSensitiveDetector', 'BSCSensitiveDetector', 'CTPPSDiamondSensitiveDetector', 'FP420SensitiveDetector', 'BHMSensitiveDetector', 'CastorSensitiveDetector', 'CaloTrkProcessing', 'HcalSensitiveDetector', 'TkAccumulatingSensitiveDetector'),
98  G4CheckOverlap = cms.untracked.PSet(
99  OutputBaseName = cms.string('2022'),
100  MaterialFlag = cms.bool(True),
101  GeomFlag = cms.bool(True),
102  OverlapFlag = cms.bool(False),
103  RegionFlag = cms.bool(True), # if true - selection by G4Region name
104  gdmlFlag = cms.bool(False), # if true - dump gdml file
105  Verbose = cms.bool(True),
106  Tolerance = cms.double(0.0),
107  Resolution = cms.int32(10000),
108  ErrorThreshold = cms.int32(1),
109  Level = cms.int32(1),
110  Depth = cms.int32(3), # -1 means check whatever depth
111  PVname = cms.string(''),
112  LVname = cms.string(''),
113  NodeNames = cms.vstring('World')
114  ),
115  G4Commands = cms.vstring(),
116  G4CommandsEndRun = cms.vstring(),
117  SteppingVerbosity = cms.untracked.int32(0),
118  StepVerboseThreshold = cms.untracked.double(0.1), # in GeV
119  VerboseEvents = cms.untracked.vint32(),
120  VertexNumber = cms.untracked.vint32(),
121  VerboseTracks = cms.untracked.vint32(),
122  FileNameField = cms.untracked.string(''),
123  FileNameGDML = cms.untracked.string(''),
124  FileNameRegions = cms.untracked.string(''),
125  Watchers = cms.VPSet(),
126  HepMCProductLabel = cms.InputTag("generatorSmeared"),
127  theLHCTlinkTag = cms.InputTag("LHCTransport"),
128  LHCTransport = cms.bool(False),
129  CustomUIsession = cms.untracked.PSet(
130  Type = cms.untracked.string("MessageLogger"), # alternatives: MessageLoggerThreadPrefix, FilePerThread
131  ThreadPrefix = cms.untracked.string("W"), # for MessageLoggerThreadPrefix
132  ThreadFile = cms.untracked.string("sim_output_thread"), # for FilePerThread
133  ),
134  MagneticField = cms.PSet(
135  UseLocalMagFieldManager = cms.bool(False),
136  Verbosity = cms.bool(False),
137  ConfGlobalMFM = cms.PSet(
138  Volume = cms.string('OCMS'),
139  OCMS = cms.PSet(
140  Stepper = cms.string('CMSTDormandPrince45'),
141  Type = cms.string('CMSIMField'),
142  StepperParam = cms.PSet(
143  VacRegions = cms.vstring(),
144 # VacRegions = cms.vstring('DefaultRegionForTheWorld','BeamPipeVacuum','BeamPipeOutside'),
145  EnergyThTracker = cms.double(0.2),
146  RmaxTracker = cms.double(8000),
147  ZmaxTracker = cms.double(11000),
148  MaximumEpsilonStep = cms.untracked.double(0.01),
149  DeltaOneStep = cms.double(0.001),
150  DeltaOneStepTracker = cms.double(1e-4),
151  MaximumLoopCounts = cms.untracked.double(1000.0),
152  DeltaChord = cms.double(0.002),
153  DeltaChordTracker = cms.double(0.001),
154  MinStep = cms.double(0.1),
155  DeltaIntersectionAndOneStep = cms.untracked.double(-1.0),
156  DeltaIntersection = cms.double(0.0001),
157  DeltaIntersectionTracker = cms.double(1e-6),
158  MaxStep = cms.double(150.),
159  MinimumEpsilonStep = cms.untracked.double(1e-05),
160  EnergyThSimple = cms.double(0.015),
161  DeltaChordSimple = cms.double(0.1),
162  DeltaOneStepSimple = cms.double(0.1),
163  DeltaIntersectionSimple = cms.double(0.01),
164  MaxStepSimple = cms.double(50.),
165  )
166  )
167  ),
168  delta = cms.double(1.0)
169  ),
170  Physics = cms.PSet(
171  common_maximum_time,
172  # NOTE : if you want EM Physics only,
173  # please select "SimG4Core/Physics/DummyPhysics" for type
174  # and turn ON DummyEMPhysics
175  #
176  type = cms.string('SimG4Core/Physics/FTFP_BERT_EMM'),
177  DummyEMPhysics = cms.bool(False),
178  # 1 will print cuts as they get set from DD
179  # 2 will do as 1 + will dump Geant4 table of cuts
180  Verbosity = cms.untracked.int32(0),
181  # EM physics options
182  CutsPerRegion = cms.bool(True),
183  CutsOnProton = cms.bool(True),
184  DefaultCutValue = cms.double(1.0),
185  G4BremsstrahlungThreshold = cms.double(0.5),
186  G4MuonBremsstrahlungThreshold = cms.double(10000.),
187  G4TrackingCut = cms.double(0.025),
188  G4MscRangeFactor = cms.double(0.04),
189  G4MscGeomFactor = cms.double(2.5),
190  G4MscSafetyFactor = cms.double(0.6),
191  G4MscLambdaLimit = cms.double(1.0), # in mm
192  G4MscStepLimit = cms.string("UseSafety"),
193  G4GammaGeneralProcess = cms.bool(True),
194  G4ElectronGeneralProcess = cms.bool(False),
195  G4TransportWithMSC = cms.int32(0), # 1 - fEnabled, 2 - fMultipleSteps
196  PhotoeffectBelowKShell = cms.bool(True),
197  G4HepEmActive = cms.bool(False),
198  G4MuonPairProductionByMuon = cms.bool(False),
199  ReadMuonData = cms.bool(False),
200  Region = cms.string(''),
201  TrackingCut = cms.bool(False),
202  SRType = cms.bool(True),
203  FlagMuNucl = cms.bool(False),
204  FlagFluo = cms.bool(False),
205  EMPhysics = cms.untracked.bool(True),
206  # Hadronic physics options
207  HadPhysics = cms.untracked.bool(True),
208  FlagBERT = cms.untracked.bool(False),
209  EminFTFP = cms.double(3.), # in GeV
210  EmaxBERT = cms.double(6.), # in GeV
211  EminQGSP = cms.double(12.), # in GeV
212  EmaxFTFP = cms.double(25.), # in GeV
213  EmaxBERTpi = cms.double(12.), # in GeV
214  G4NeutronGeneralProcess = cms.bool(False),
215  G4BCHadronicProcess = cms.bool(False),
216  G4LightHyperNucleiTracking = cms.bool(False),
217  ThermalNeutrons = cms.untracked.bool(False),
218  # Exotica
219  MonopoleCharge = cms.untracked.int32(1),
220  MonopoleDeltaRay = cms.untracked.bool(True),
221  MonopoleMultiScatter = cms.untracked.bool(False),
222  MonopoleTransport = cms.untracked.bool(True),
223  MonopoleMass = cms.untracked.double(0),
224  ExoticaTransport = cms.untracked.bool(False),
225  ExoticaPhysicsSS = cms.untracked.bool(False),
226  RhadronPhysics = cms.bool(False),
227  DarkMPFactor = cms.double(1.0),
228  # GFlash methods
229  LowEnergyGflashEcal = cms.bool(False),
230  LowEnergyGflashEcalEmax = cms.double(0.02), # in GeV
231  GflashEcal = cms.bool(False),
232  GflashHcal = cms.bool(False),
233  GflashEcalHad = cms.bool(False),
234  GflashHcalHad = cms.bool(False),
235  bField = cms.double(3.8),
236  energyScaleEB = cms.double(1.032),
237  energyScaleEE = cms.double(1.024),
238  # Russian roulette
239  RusRoElectronEnergyLimit = cms.double(0.0),
240  RusRoEcalElectron = cms.double(1.0),
241  RusRoHcalElectron = cms.double(1.0),
242  RusRoMuonIronElectron = cms.double(1.0),
243  RusRoPreShowerElectron = cms.double(1.0),
244  RusRoCastorElectron = cms.double(1.0),
245  RusRoWorldElectron = cms.double(1.0),
246  # Tracking and step limiters
247  ElectronStepLimit = cms.bool(False),
248  ElectronRangeTest = cms.bool(False),
249  PositronStepLimit = cms.bool(False),
250  ProtonRegionLimit = cms.bool(False),
251  PionRegionLimit = cms.bool(False),
252  LimitsPerRegion = cms.vstring('EcalRegion','HcalRegion'),
253  EnergyLimitsE = cms.vdouble(0.,0.0),
254  EnergyLimitsH = cms.vdouble(0.,0.0),
255  EnergyFactorsE = cms.vdouble(1.,0.0),
256  EnergyRMSE = cms.vdouble(0.0,0.0),
257  MinStepLimit = cms.double(1.0),
258  ModifyTransportation = cms.bool(False),
259  ThresholdWarningEnergy = cms.untracked.double(100.0), #in MeV
260  ThresholdImportantEnergy = cms.untracked.double(250.0), #in MeV
261  ThresholdTrials = cms.untracked.int32(10)
262  ),
263  Generator = cms.PSet(
264  common_maximum_time,
265  HectorEtaCut,
266  HepMCProductLabel = cms.InputTag('generatorSmeared'),
267  ApplyPCuts = cms.bool(True),
268  ApplyPtransCut = cms.bool(False),
269  MinPCut = cms.double(0.04),
270  MaxPCut = cms.double(99999.0),
271  ApplyEtaCuts = cms.bool(True),
272  MinEtaCut = cms.double(-5.5),
273  MaxEtaCut = cms.double(5.5),
274  RDecLenCut = cms.double(2.9),
275  LDecLenCut = cms.double(30.0),
276  ApplyPhiCuts = cms.bool(False),
277  MinPhiCut = cms.double(-3.14159265359),
278  MaxPhiCut = cms.double(3.14159265359),
279  ApplyLumiMonitorCuts = cms.bool(False),
280  Verbosity = cms.untracked.int32(0),
281  PDGselection = cms.PSet(
282  PDGfilterSel = cms.bool(False),
283  PDGfilter = cms.vint32(21,1,2,3,4,5,6)
284  )
285  ),
286  RunAction = cms.PSet(
287  StopFile = cms.string('')
288  ),
289  EventAction = cms.PSet(
290  debug = cms.untracked.bool(False),
291  StopFile = cms.string(''),
292  PrintRandomSeed = cms.bool(False),
293  CollapsePrimaryVertices = cms.bool(False)
294  ),
295  StackingAction = cms.PSet(
296  common_heavy_suppression,
297  common_maximum_time,
298  KillDeltaRay = cms.bool(False),
299  TrackNeutrino = cms.bool(False),
300  KillHeavy = cms.bool(False),
301  KillGamma = cms.bool(True),
302  GammaThreshold = cms.double(0.0001),
303  SaveFirstLevelSecondary = cms.untracked.bool(False),
304  SavePrimaryDecayProductsAndConversionsInTracker = cms.untracked.bool(False),
305  SavePrimaryDecayProductsAndConversionsInCalo = cms.untracked.bool(False),
306  SavePrimaryDecayProductsAndConversionsInMuon = cms.untracked.bool(False),
307  SaveAllPrimaryDecayProductsAndConversions = cms.untracked.bool(True),
308  RusRoGammaEnergyLimit = cms.double(5.0),
309  RusRoEcalGamma = cms.double(0.3),
310  RusRoHcalGamma = cms.double(0.3),
311  RusRoMuonIronGamma = cms.double(0.3),
312  RusRoPreShowerGamma = cms.double(0.3),
313  RusRoCastorGamma = cms.double(0.3),
314  RusRoWorldGamma = cms.double(0.3),
315  RusRoNeutronEnergyLimit = cms.double(10.0),
316  RusRoEcalNeutron = cms.double(0.1),
317  RusRoHcalNeutron = cms.double(0.1),
318  RusRoMuonIronNeutron = cms.double(0.1),
319  RusRoPreShowerNeutron = cms.double(0.1),
320  RusRoCastorNeutron = cms.double(0.1),
321  RusRoWorldNeutron = cms.double(0.1),
322  RusRoProtonEnergyLimit = cms.double(0.0),
323  RusRoEcalProton = cms.double(1.0),
324  RusRoHcalProton = cms.double(1.0),
325  RusRoMuonIronProton = cms.double(1.0),
326  RusRoPreShowerProton = cms.double(1.0),
327  RusRoCastorProton = cms.double(1.0),
328  RusRoWorldProton = cms.double(1.0)
329  ),
330  TrackingAction = cms.PSet(
331  common_MCtruth,
332  DetailedTiming = cms.untracked.bool(False),
333  CheckTrack = cms.untracked.bool(False),
334  ),
335  SteppingAction = cms.PSet(
336  common_maximum_time,
337  CMStoZDCtransport = cms.bool(False),
338  MaxNumberOfSteps = cms.int32(20000),
339  EkinNames = cms.vstring(),
340  EkinThresholds = cms.vdouble(),
341  EkinParticles = cms.vstring()
342  ),
343  TrackerSD = cms.PSet(
344  ZeroEnergyLoss = cms.bool(False),
345  PrintHits = cms.bool(False),
346  ElectronicSigmaInNanoSeconds = cms.double(12.06),
347  NeverAccumulate = cms.bool(False),
348  EnergyThresholdForPersistencyInGeV = cms.double(0.2),
349  EnergyThresholdForHistoryInGeV = cms.double(0.05)
350  ),
351  MuonSD = cms.PSet(
352  EnergyThresholdForPersistency = cms.double(1.0),
353  PrintHits = cms.bool(False),
354  AllMuonsPersistent = cms.bool(True),
355  UseDemoHitRPC = cms.bool(True),
356  UseDemoHitGEM = cms.bool(True),
357  HaveDemoChambers = cms.bool(True)
358  ),
359  CaloSD = cms.PSet(
360  common_heavy_suppression,
361  common_MCtruth,
362  SuppressHeavy = cms.bool(False),
363  EminTrack = cms.double(1.0),
364  TmaxHit = cms.double(1000.0),
365  HCNames = cms.vstring('EcalHitsEB','EcalHitsEE','EcalHitsES','HcalHits','ZDCHITS'),
366  EminHits = cms.vdouble(0.015,0.010,0.0,0.0,0.0),
367  EminHitsDepth = cms.vdouble(0.0,0.0,0.0,0.0,0.0),
368  TmaxHits = cms.vdouble(500.0,500.0,500.0,500.0,2000.0),
369  UseResponseTables = cms.vint32(0,0,0,0,0),
370  BeamPosition = cms.double(0.0),
371  CorrectTOFBeam = cms.bool(False),
372  DetailedTiming = cms.untracked.bool(False),
373  UseMap = cms.untracked.bool(False),
374  Verbosity = cms.untracked.int32(0),
375  CheckHits = cms.untracked.int32(25)
376  ),
377  CaloResponse = cms.PSet(
378  UseResponseTable = cms.bool(True),
379  ResponseScale = cms.double(1.0),
380  ResponseFile = cms.FileInPath('SimG4CMS/Calo/data/responsTBpim50.dat')
381  ),
382  ECalSD = cms.PSet(
383  common_UseLuminosity,
384  UseBirkLaw = cms.bool(True),
385  BirkL3Parametrization = cms.bool(True),
386  BirkSlope = cms.double(0.253694),
387  BirkCut = cms.double(0.1),
388  BirkC1 = cms.double(0.03333),
389  BirkC3 = cms.double(1.0),
390  BirkC2 = cms.double(0.0),
391  SlopeLightYield = cms.double(0.02),
392  StoreSecondary = cms.bool(False),
393  TimeSliceUnit = cms.double(1),
394  IgnoreTrackID = cms.bool(False),
395  XtalMat = cms.untracked.string('E_PbWO4'),
396  TestBeam = cms.untracked.bool(False),
397  NullNumbering = cms.untracked.bool(False),
398  StoreRadLength = cms.untracked.bool(False),
399  ScaleRadLength = cms.untracked.double(1.0),
400  StoreLayerTimeSim = cms.untracked.bool(False),
401  AgeingWithSlopeLY = cms.untracked.bool(False),
402  Detectors = cms.untracked.int32(3),
403  DumpGeometry = cms.untracked.int32(0)
404  ),
405  HCalSD = cms.PSet(
406  common_UseLuminosity,
407  UseBirkLaw = cms.bool(True),
408  BirkC3 = cms.double(1.75),
409  BirkC2 = cms.double(0.142),
410  BirkC1 = cms.double(0.0060),
411  UseShowerLibrary = cms.bool(True),
412  UseParametrize = cms.bool(False),
413  UsePMTHits = cms.bool(False),
414  UseFibreBundleHits = cms.bool(False),
415  TestNumberingScheme = cms.bool(False),
416  doNeutralDensityFilter = cms.bool(False),
417  EminHitHB = cms.double(0.0),
418  EminHitHE = cms.double(0.0),
419  EminHitHO = cms.double(0.0),
420  EminHitHF = cms.double(0.0),
421  BetaThreshold = cms.double(0.7),
422  TimeSliceUnit = cms.double(1),
423  IgnoreTrackID = cms.bool(False),
424  HBDarkening = cms.bool(False),
425  HEDarkening = cms.bool(False),
426  HFDarkening = cms.bool(False),
427  UseHF = cms.untracked.bool(True),
428  ForTBH2 = cms.untracked.bool(False),
429  ForTBHCAL = cms.untracked.bool(False),
430  UseLayerWt = cms.untracked.bool(False),
431  WtFile = cms.untracked.string('None'),
432  TestNS = cms.untracked.bool(False),
433  DumpGeometry = cms.untracked.bool(False),
434  HFDarkeningParameterBlock = HFDarkeningParameterBlock
435  ),
436  CaloTrkProcessing = cms.PSet(
437  common_MCtruth,
438  TestBeam = cms.bool(False),
439  EminTrack = cms.double(0.01),
440  PutHistory = cms.bool(False),
441  ),
442  HFShower = cms.PSet(
443  common_UsePMT,
444  common_UseHF,
445  PEPerGeV = cms.double(0.31),
446  TrackEM = cms.bool(False),
447  UseShowerLibrary = cms.bool(True),
448  UseHFGflash = cms.bool(False),
449  EminLibrary = cms.double(0.0),
450  LambdaMean = cms.double(350.0),
451  ApplyFiducialCut = cms.bool(True),
452  RefIndex = cms.double(1.459),
453  Aperture = cms.double(0.33),
454  ApertureTrapped = cms.double(0.22),
455  CosApertureTrapped= cms.double(0.5),
456  SinPsiMax = cms.untracked.double(0.5),
457  ParametrizeLast = cms.untracked.bool(False),
458  HFShowerBlock = cms.PSet(refToPSet_ = cms.string("HFShowerBlock"))
459  ),
460  HFShowerLibrary = cms.PSet(
461  HFLibraryFileBlock = cms.PSet(refToPSet_ = cms.string("HFLibraryFileBlock"))
462  ),
463  HFShowerPMT = cms.PSet(
464  common_UsePMT,
465  common_UseHF,
466  PEPerGeVPMT = cms.double(1.0),
467  RefIndex = cms.double(1.52),
468  Aperture = cms.double(0.99),
469  ApertureTrapped = cms.double(0.22),
470  CosApertureTrapped= cms.double(0.5),
471  SinPsiMax = cms.untracked.double(0.5)
472  ),
473  HFShowerStraightBundle = cms.PSet(
474  common_UsePMT,
475  common_UseHF,
476  FactorBundle = cms.double(1.0),
477  RefIndex = cms.double(1.459),
478  Aperture = cms.double(0.33),
479  ApertureTrapped = cms.double(0.22),
480  CosApertureTrapped= cms.double(0.5),
481  SinPsiMax = cms.untracked.double(0.5)
482  ),
483  HFShowerConicalBundle = cms.PSet(
484  common_UsePMT,
485  common_UseHF,
486  FactorBundle = cms.double(1.0),
487  RefIndex = cms.double(1.459),
488  Aperture = cms.double(0.33),
489  ApertureTrapped = cms.double(0.22),
490  CosApertureTrapped= cms.double(0.5),
491  SinPsiMax = cms.untracked.double(0.5)
492  ),
493  HFGflash = cms.PSet(
494  BField = cms.untracked.double(3.8),
495  WatcherOn = cms.untracked.bool(True),
496  FillHisto = cms.untracked.bool(True)
497  ),
498  CastorSD = cms.PSet(
499  useShowerLibrary = cms.bool(True),
500  minEnergyInGeVforUsingSLibrary = cms.double(1.0),
501  nonCompensationFactor = cms.double(0.817),
502  Verbosity = cms.untracked.int32(0)
503  ),
504  CastorShowerLibrary = cms.PSet(
505  FileName = cms.FileInPath('SimG4CMS/Forward/data/CastorShowerLibrary_CMSSW500_Standard.root'),
506  BranchEvt = cms.untracked.string('hadShowerLibInfo.'),
507  BranchEM = cms.untracked.string('emParticles.'),
508  BranchHAD = cms.untracked.string('hadParticles.'),
509  Verbosity = cms.untracked.bool(False)
510  ),
511  BHMSD = cms.PSet(
512  Verbosity = cms.untracked.int32(0)
513  ),
514  MtdSD = cms.PSet(
515  Verbosity = cms.untracked.int32(0),
516  TimeSliceUnit = cms.double(0.01), #stepping = 10 ps (for timing)
517  IgnoreTrackID = cms.bool(False),
518  EminHit = cms.double(0.0),
519  CheckID = cms.untracked.bool(True),
520  ),
521  HGCSD = cms.PSet(
522  Verbosity = cms.untracked.int32(0),
523  TimeSliceUnit = cms.double(0.001), #stepping = 1 ps (for timing)
524  IgnoreTrackID = cms.bool(False),
525  EminHit = cms.double(0.0),
526  FiducialCut = cms.bool(False),
527  DistanceFromEdge = cms.double(1.0),
528  StoreAllG4Hits = cms.bool(False),
529  RejectMouseBite = cms.bool(False),
530  RotatedWafer = cms.bool(False),
531  CornerMinMask = cms.int32(0),
532  WaferAngles = cms.untracked.vdouble(90.0,30.0),
533  WaferSize = cms.untracked.double(123.7),
534  MouseBite = cms.untracked.double(2.5),
535  CheckID = cms.untracked.bool(False),
536  UseDetector = cms.untracked.int32(3),
537  Detectors = cms.untracked.int32(2),
538  MissingWaferFile = cms.untracked.string("")
539  ),
540  HGCScintSD = cms.PSet(
541  Verbosity = cms.untracked.int32(0),
542  EminHit = cms.double(0.0),
543  UseBirkLaw = cms.bool(True),
544  BirkC3 = cms.double(1.75),
545  BirkC2 = cms.double(0.142),
546  BirkC1 = cms.double(0.0052),
547  FiducialCut = cms.bool(False),
548  DistanceFromEdge = cms.double(1.0),
549  StoreAllG4Hits = cms.bool(False),
550  CheckID = cms.untracked.bool(False),
551  TileFileName = cms.untracked.string("")
552  ),
553  HFNoseSD = cms.PSet(
554  Verbosity = cms.untracked.int32(0),
555  TimeSliceUnit = cms.double(0.001), #stepping = 1 ps (for timing)
556  IgnoreTrackID = cms.bool(False),
557  EminHit = cms.double(0.0),
558  FiducialCut = cms.bool(False),
559  DistanceFromEdge = cms.double(1.0),
560  StoreAllG4Hits = cms.bool(False),
561  RejectMouseBite = cms.bool(False),
562  RotatedWafer = cms.bool(False),
563  CornerMinMask = cms.int32(0),
564  WaferAngles = cms.untracked.vdouble(90.0,30.0),
565  CheckID = cms.untracked.bool(True),
566  ),
567  TotemRPSD = cms.PSet(
568  Verbosity = cms.int32(0)
569  ),
570  TotemSD = cms.PSet(
571  Verbosity = cms.untracked.int32(0)
572  ),
573  TotemT2ScintSD = cms.PSet(
574  UseBirkLaw = cms.bool(True),
575  BirkC3 = cms.double(1.75),
576  BirkC2 = cms.double(0.142),
577  BirkC1 = cms.double(0.006),
578  TimeSliceUnit = cms.double(1),
579  IgnoreTrackID = cms.bool(False),
580  ),
581  PPSDiamondSD = cms.PSet(
582  Verbosity = cms.int32(0)
583  ),
584  PPSPixelSD = cms.PSet(
585  Verbosity = cms.untracked.int32(0)
586  ),
587  ZdcSD = cms.PSet(
588  Verbosity = cms.int32(0),
589  UseShowerLibrary = cms.bool(True),
590  UseShowerHits = cms.bool(False),
591  FiberDirection = cms.double(45.0),
592  ZdcHitEnergyCut = cms.double(10.0)
593  ),
594  ZdcShowerLibrary = cms.PSet(
595  Verbosity = cms.untracked.int32(0)
596  ),
597  FP420SD = cms.PSet(
598  Verbosity = cms.untracked.int32(2)
599  ),
600  BscSD = cms.PSet(
601  Verbosity = cms.untracked.int32(0)
602  ),
603  PltSD = cms.PSet(
604  EnergyThresholdForPersistencyInGeV = cms.double(0.2),
605  EnergyThresholdForHistoryInGeV = cms.double(0.05)
606  ),
607  Bcm1fSD = cms.PSet(
608  EnergyThresholdForPersistencyInGeV = cms.double(0.010),
609  EnergyThresholdForHistoryInGeV = cms.double(0.005)
610  ),
611  HcalTB02SD = cms.PSet(
612  UseBirkLaw = cms.untracked.bool(False),
613  BirkC1 = cms.untracked.double(0.013),
614  BirkC3 = cms.untracked.double(1.75),
615  BirkC2 = cms.untracked.double(0.0568)
616  ),
617  EcalTBH4BeamSD = cms.PSet(
618  UseBirkLaw = cms.bool(False),
619  BirkC1 = cms.double(0.013),
620  BirkC3 = cms.double(1.75),
621  BirkC2 = cms.double(0.0568)
622  ),
623  HGCalTestBeamSD = cms.PSet(
624  Material = cms.string('Scintillator'),
625  UseBirkLaw = cms.bool(False),
626  BirkC1 = cms.double(0.013),
627  BirkC3 = cms.double(1.75),
628  BirkC2 = cms.double(0.0568),
629  ),
630  HcalTB06BeamSD = cms.PSet(
631  UseBirkLaw = cms.bool(False),
632  BirkC1 = cms.double(0.013),
633  BirkC3 = cms.double(1.75),
634  BirkC2 = cms.double(0.0568)
635  ),
636  AHCalSD = cms.PSet(
637  UseBirkLaw = cms.bool(True),
638  BirkC3 = cms.double(1.75),
639  BirkC2 = cms.double(0.142),
640  BirkC1 = cms.double(0.0052),
641  EminHit = cms.double(0.0),
642  TimeSliceUnit = cms.double(1),
643  IgnoreTrackID = cms.bool(False),
644  ),
645 )
646 
649 from Configuration.Eras.Modifier_run2_common_cff import run2_common
650 
651 
654 from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
655 run2_HCAL_2017.toModify( g4SimHits, HCalSD = dict( TestNumberingScheme = True ) )
656 
657 
660 from Configuration.Eras.Modifier_run3_common_cff import run3_common
661 run3_common.toModify( g4SimHits, CastorSD = dict( useShowerLibrary = False ) )
662 run3_common.toModify( g4SimHits, LHCTransport = True )
663 
664 
667 from Configuration.Eras.Modifier_pp_on_PbPb_run3_cff import pp_on_PbPb_run3
668 pp_on_PbPb_run3.toModify(g4SimHits, LHCTransport = False,
669  SteppingAction = dict(
670  CMStoZDCtransport = cms.bool(True) ) )
671 
672 
675 from Configuration.Eras.Modifier_phase2_timing_cff import phase2_timing
676 phase2_timing.toModify( g4SimHits, ECalSD = dict(
677  StoreLayerTimeSim = True,
678  TimeSliceUnit = 0.001 )
679 )
680 
681 
684 from Configuration.Eras.Modifier_h2tb_cff import h2tb
685 h2tb.toModify(g4SimHits,
686  OnlySDs = ['EcalSensitiveDetector', 'CaloTrkProcessing', 'HcalTB06BeamDetector', 'HcalSensitiveDetector'],
687  CaloSD = dict(
688  EminHits = [0.0, 0.0, 0.0, 0.0, 0.0],
689  TmaxHits = [1000.0, 1000.0, 1000.0, 1000.0, 2000.0] ),
690  CaloTrkProcessing = dict(
691  TestBeam = True ),
692  HCalSD = dict(
693  ForTBHCAL = True )
694 )
695 
696 
699 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
700 dd4hep.toModify( g4SimHits, g4GeometryDD4hepSource = True )
701 
702 
705 
706 from Configuration.Eras.Modifier_phase2_common_cff import phase2_common
707 phase2_common.toModify(g4SimHits,
708  OnlySDs = ['ZdcSensitiveDetector', 'TotemT2ScintSensitiveDetector', 'TotemSensitiveDetector', 'RomanPotSensitiveDetector', 'PLTSensitiveDetector', 'MuonSensitiveDetector', 'MtdSensitiveDetector', 'BCM1FSensitiveDetector', 'EcalSensitiveDetector', 'CTPPSSensitiveDetector', 'HGCalSensitiveDetector', 'BSCSensitiveDetector', 'CTPPSDiamondSensitiveDetector', 'FP420SensitiveDetector', 'BHMSensitiveDetector', 'HFNoseSensitiveDetector', 'HGCScintillatorSensitiveDetector', 'CastorSensitiveDetector', 'CaloTrkProcessing', 'HcalSensitiveDetector', 'TkAccumulatingSensitiveDetector'],
709  LHCTransport = False,
710  MuonSD = dict(
711  HaveDemoChambers = False )
712 )
713 
714 from Configuration.Eras.Modifier_hgcaltb_cff import hgcaltb
715 hgcaltb.toModify(g4SimHits,
716  OnlySDs = ['AHcalSensitiveDetector', 'HGCSensitiveDetector', 'HGCalTB1601SensitiveDetector', 'HcalTB06BeamDetector']
717 )
HF Raddam Dose Class in /SimG4CMS/Calo.