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