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