CMS 3D CMS Logo

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