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