test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros 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 ## This object is used to customise g4SimHits for different running scenarios
9 
10 common_heavy_suppression = cms.PSet(
11  NeutronThreshold = cms.double(30.0),
12  ProtonThreshold = cms.double(30.0),
13  IonThreshold = cms.double(30.0)
14 )
15 
16 common_maximum_time = cms.PSet(
17  MaxTrackTime = cms.double(500.0),
18  MaxTimeNames = cms.vstring('ZDCRegion'),
19  MaxTrackTimes = cms.vdouble(2000.0),
20  #DeadRegions = cms.vstring('QuadRegion','CastorRegion','InterimRegion'),
21  DeadRegions = cms.vstring('QuadRegion','InterimRegion'),
22  CriticalEnergyForVacuum = cms.double(2.0),
23  CriticalDensity = cms.double(1e-15)
24 )
25 
26 common_UsePMT = cms.PSet(
27  UseR7600UPMT = cms.bool(False)
28 )
29 
30 common_UseHF = cms.PSet(
31  Lambda1 = cms.double(280.0),
32  Lambda2 = cms.double(700.0),
33  Gain = cms.double(0.33),
34  CheckSurvive = cms.bool(False),
35  FibreR = cms.untracked.double(0.3)
36 )
37 
38 common_UseLuminosity = cms.PSet(
39  InstLuminosity = cms.double(0.),
40  DelivLuminosity = cms.double(5000.)
41 )
42 
43 g4SimHits = cms.EDProducer("OscarMTProducer",
44  NonBeamEvent = cms.bool(False),
45  G4EventManagerVerbosity = cms.untracked.int32(0),
46  G4StackManagerVerbosity = cms.untracked.int32(0),
47  G4TrackingManagerVerbosity = cms.untracked.int32(0),
48  UseMagneticField = cms.bool(True),
49  StoreRndmSeeds = cms.bool(False),
50  RestoreRndmSeeds = cms.bool(False),
51  PhysicsTablesDirectory = cms.string('PhysicsTables'),
52  StorePhysicsTables = cms.bool(False),
53  RestorePhysicsTables = cms.bool(False),
54  CheckOverlap = cms.untracked.bool(False),
55  G4CheckOverlap = cms.PSet(
56  Tolerance = cms.untracked.double(0.0),
57  Resolution = cms.untracked.int32(10000),
58  RegionFlag = cms.untracked.bool(True), # if true - selection by G4Region name
59  gdmlFlag = cms.untracked.bool(True), # if true - dump gdml file
60  PVname = cms.string(''),
61  LVname = cms.string(''),
62  NodeNames = cms.vstring('World')
63  ),
64  G4Commands = cms.vstring(),
65  SteppingVerbosity = cms.int32(0),
66  StepVerboseThreshold = cms.double(0.1), # in GeV
67  VerboseEvents = cms.vint32(),
68  VertexNumber = cms.vint32(),
69  VerboseTracks = cms.vint32(),
70  FileNameField = cms.untracked.string(''),
71  FileNameGDML = cms.untracked.string(''),
72  FileNameRegions = cms.untracked.string(''),
73  Watchers = cms.VPSet(),
74  HepMCProductLabel = cms.InputTag("generatorSmeared"),
75  theLHCTlinkTag = cms.InputTag("LHCTransport"),
76  CustomUIsession = cms.untracked.PSet(
77  Type = cms.untracked.string("MessageLogger"), # MessageLoggerThreadPrefix, FilePerThread; the non-default ones are meant only for MT debugging
78  ThreadPrefix = cms.untracked.string("W"), # For MessageLoggerThreadPrefix
79  ThreadFile = cms.untracked.string("sim_output_thread"), # For FilePerThread
80  ),
81  MagneticField = cms.PSet(
82  UseLocalMagFieldManager = cms.bool(False),
83  Verbosity = cms.untracked.bool(False),
84  ConfGlobalMFM = cms.PSet(
85  Volume = cms.string('OCMS'),
86  OCMS = cms.PSet(
87  Stepper = cms.string('G4ClassicalRK4'),
88  Type = cms.string('CMSIMField'),
89  StepperParam = cms.PSet(
90  MaximumEpsilonStep = cms.untracked.double(0.01), ## in mm
91  DeltaOneStep = cms.double(0.001), ## in mm
92  MaximumLoopCounts = cms.untracked.double(1000.0),
93  DeltaChord = cms.double(0.001), ## in mm
94  MinStep = cms.double(0.1), ## in mm
95  DeltaIntersectionAndOneStep = cms.untracked.double(-1.0),
96  DeltaIntersection = cms.double(0.0001), ## in mm
97  MinimumEpsilonStep = cms.untracked.double(1e-05) ## in mm
98  )
99  )
100  ),
101  delta = cms.double(1.0)
102  ),
103  Physics = cms.PSet(
104  common_maximum_time,
105  # NOTE : if you want EM Physics only,
106  # please select "SimG4Core/Physics/DummyPhysics" for type
107  # and turn ON DummyEMPhysics
108  #
109  type = cms.string('SimG4Core/Physics/FTFP_BERT_EMM'),
110  DummyEMPhysics = cms.bool(False),
111  CutsPerRegion = cms.bool(True),
112  CutsOnProton = cms.untracked.bool(True),
113  DefaultCutValue = cms.double(1.0), ## cuts in cm
114  G4BremsstrahlungThreshold = cms.double(0.5), ## cut in GeV
115  Verbosity = cms.untracked.int32(0),
116  # 1 will print cuts as they get set from DD
117  # 2 will do as 1 + will dump Geant4 table of cuts
118  MonopoleCharge = cms.untracked.int32(1),
119  MonopoleDeltaRay = cms.untracked.bool(True),
120  MonopoleMultiScatter = cms.untracked.bool(False),
121  MonopoleTransport = cms.untracked.bool(True),
122  MonopoleMass = cms.untracked.double(0),
123  Region = cms.string(' '),
124  TrackingCut = cms.bool(False),
125  SRType = cms.bool(True),
126  FlagMuNucl = cms.bool(False),
127  FlagFluo = cms.bool(False),
128  EMPhysics = cms.untracked.bool(True),
129  HadPhysics = cms.untracked.bool(True),
130  FlagBERT = cms.untracked.bool(False),
131  GflashEcal = cms.bool(False),
132  GflashHcal = cms.bool(False),
133  GflashEcalHad = cms.bool(False),
134  GflashHcalHad = cms.bool(False),
135  bField = cms.double(3.8),
136  energyScaleEB = cms.double(1.032),
137  energyScaleEE = cms.double(1.024),
138  ExoticaPhysicsSS = cms.untracked.bool(False),
139  RusRoElectronEnergyLimit = cms.double(0.0),
140  RusRoEcalElectron = cms.double(1.0),
141  RusRoHcalElectron = cms.double(1.0),
142  RusRoMuonIronElectron = cms.double(1.0),
143  RusRoPreShowerElectron = cms.double(1.0),
144  RusRoCastorElectron = cms.double(1.0),
145  RusRoWorldElectron = cms.double(1.0),
146  ElectronStepLimit = cms.bool(False),
147  ElectronRangeTest = cms.bool(False),
148  PositronStepLimit = cms.bool(False),
149  MinStepLimit = cms.double(1.0)
150  ),
151  Generator = cms.PSet(
152  HectorEtaCut,
153  # string HepMCProductLabel = "generatorSmeared"
154  HepMCProductLabel = cms.string('generatorSmeared'),
155  ApplyPCuts = cms.bool(True),
156  ApplyPtransCut = cms.bool(False),
157  MinPCut = cms.double(0.04), ## the cut is in GeV
158  MaxPCut = cms.double(99999.0), ## the pmax=99.TeV
159  ApplyEtaCuts = cms.bool(True),
160  MinEtaCut = cms.double(-5.5),
161  MaxEtaCut = cms.double(5.5),
162  RDecLenCut = cms.double(2.9), ## (cm) the cut on vertex radius
163  LDecLenCut = cms.double(30.0), ## (cm) decay volume length
164  ApplyPhiCuts = cms.bool(False),
165  MinPhiCut = cms.double(-3.14159265359), ## (radians)
166  MaxPhiCut = cms.double(3.14159265359), ## according to CMS conventions
167  ApplyLumiMonitorCuts = cms.bool(False), ## primary for lumi monitors
168  Verbosity = cms.untracked.int32(0)
169  ),
170  RunAction = cms.PSet(
171  StopFile = cms.string('StopRun')
172  ),
173  EventAction = cms.PSet(
174  debug = cms.untracked.bool(False),
175  StopFile = cms.string('StopRun'),
176  PrintRandomSeed = cms.bool(False),
177  CollapsePrimaryVertices = cms.bool(False)
178  ),
179  StackingAction = cms.PSet(
180  common_heavy_suppression,
181  common_maximum_time,
182  KillDeltaRay = cms.bool(False),
183  TrackNeutrino = cms.bool(False),
184  KillHeavy = cms.bool(False),
185  KillGamma = cms.bool(True),
186  GammaThreshold = cms.double(0.0001), ## (MeV)
187  SaveFirstLevelSecondary = cms.untracked.bool(False),
188  SavePrimaryDecayProductsAndConversionsInTracker = cms.untracked.bool(False),
189  SavePrimaryDecayProductsAndConversionsInCalo = cms.untracked.bool(False),
190  SavePrimaryDecayProductsAndConversionsInMuon = cms.untracked.bool(False),
191  SaveAllPrimaryDecayProductsAndConversions = cms.untracked.bool(True),
192  RusRoGammaEnergyLimit = cms.double(5.0), ## (MeV)
193  RusRoEcalGamma = cms.double(0.3),
194  RusRoHcalGamma = cms.double(0.3),
195  RusRoMuonIronGamma = cms.double(0.3),
196  RusRoPreShowerGamma = cms.double(0.3),
197  RusRoCastorGamma = cms.double(0.3),
198  RusRoWorldGamma = cms.double(0.3),
199  RusRoNeutronEnergyLimit = cms.double(10.0), ## (MeV)
200  RusRoEcalNeutron = cms.double(0.1),
201  RusRoHcalNeutron = cms.double(0.1),
202  RusRoMuonIronNeutron = cms.double(0.1),
203  RusRoPreShowerNeutron = cms.double(0.1),
204  RusRoCastorNeutron = cms.double(0.1),
205  RusRoWorldNeutron = cms.double(0.1),
206  RusRoProtonEnergyLimit = cms.double(0.0),
207  RusRoEcalProton = cms.double(1.0),
208  RusRoHcalProton = cms.double(1.0),
209  RusRoMuonIronProton = cms.double(1.0),
210  RusRoPreShowerProton = cms.double(1.0),
211  RusRoCastorProton = cms.double(1.0),
212  RusRoWorldProton = cms.double(1.0)
213  ),
214  TrackingAction = cms.PSet(
215  DetailedTiming = cms.untracked.bool(False),
216  CheckTrack = cms.untracked.bool(False)
217  ),
218  SteppingAction = cms.PSet(
219  common_maximum_time,
220  EkinNames = cms.vstring(),
221  EkinThresholds = cms.vdouble(),
222  EkinParticles = cms.vstring()
223  ),
224  TrackerSD = cms.PSet(
225  ZeroEnergyLoss = cms.bool(False),
226  PrintHits = cms.bool(False),
227  ElectronicSigmaInNanoSeconds = cms.double(12.06),
228  NeverAccumulate = cms.bool(False),
229  EnergyThresholdForPersistencyInGeV = cms.double(0.2),
230  EnergyThresholdForHistoryInGeV = cms.double(0.05)
231  ),
232  MuonSD = cms.PSet(
233  EnergyThresholdForPersistency = cms.double(1.0),
234  PrintHits = cms.bool(False),
235  AllMuonsPersistent = cms.bool(True)
236  ),
237  CaloSD = cms.PSet(
238  common_heavy_suppression,
239  SuppressHeavy = cms.bool(False),
240  EminTrack = cms.double(1.0),
241  TmaxHit = cms.double(1000.0),
242  HCNames = cms.vstring('EcalHitsEB','EcalHitsEE','EcalHitsES','HcalHits','ZDCHITS'),
243  EminHits = cms.vdouble(0.015,0.010,0.0,0.0,0.0),
244  EminHitsDepth = cms.vdouble(0.0,0.0,0.0,0.0,0.0),
245  TmaxHits = cms.vdouble(500.0,500.0,500.0,500.0,2000.0),
246  UseResponseTables = cms.vint32(0,0,0,0,0),
247  BeamPosition = cms.double(0.0),
248  CorrectTOFBeam = cms.bool(False),
249  DetailedTiming = cms.untracked.bool(False),
250  UseMap = cms.untracked.bool(False),
251  Verbosity = cms.untracked.int32(0),
252  CheckHits = cms.untracked.int32(25)
253  ),
254  CaloResponse = cms.PSet(
255  UseResponseTable = cms.bool(True),
256  ResponseScale = cms.double(1.0),
257  ResponseFile = cms.FileInPath('SimG4CMS/Calo/data/responsTBpim50.dat')
258  ),
259  ECalSD = cms.PSet(
260  common_UseLuminosity,
261  UseBirkLaw = cms.bool(True),
262  BirkL3Parametrization = cms.bool(True),
263  BirkSlope = cms.double(0.253694),
264  BirkCut = cms.double(0.1),
265  BirkC1 = cms.double(0.03333),
266  BirkC3 = cms.double(1.0),
267  BirkC2 = cms.double(0.0),
268  SlopeLightYield = cms.double(0.02),
269  StoreSecondary = cms.bool(False),
270  TimeSliceUnit = cms.double(1),
271  IgnoreTrackID = cms.bool(False),
272  XtalMat = cms.untracked.string('E_PbWO4'),
273  TestBeam = cms.untracked.bool(False),
274  NullNumbering = cms.untracked.bool(False),
275  StoreRadLength = cms.untracked.bool(False),
276  AgeingWithSlopeLY = cms.untracked.bool(False)
277  ),
278  HCalSD = cms.PSet(
279  common_UseLuminosity,
280  UseBirkLaw = cms.bool(True),
281  BirkC3 = cms.double(1.75),
282  BirkC2 = cms.double(0.142),
283  BirkC1 = cms.double(0.0052),
284  UseShowerLibrary = cms.bool(True),
285  UseParametrize = cms.bool(False),
286  UsePMTHits = cms.bool(False),
287  UseFibreBundleHits = cms.bool(False),
288  TestNumberingScheme = cms.bool(False),
289  EminHitHB = cms.double(0.0),
290  EminHitHE = cms.double(0.0),
291  EminHitHO = cms.double(0.0),
292  EminHitHF = cms.double(0.0),
293  BetaThreshold = cms.double(0.7),
294  TimeSliceUnit = cms.double(1),
295  IgnoreTrackID = cms.bool(False),
296  HEDarkening = cms.bool(False),
297  HFDarkening = cms.bool(False),
298  UseHF = cms.untracked.bool(True),
299  ForTBH2 = cms.untracked.bool(False),
300  UseLayerWt = cms.untracked.bool(False),
301  WtFile = cms.untracked.string('None'),
302  HFDarkeningParameterBlock = HFDarkeningParameterBlock
303  ),
304  CaloTrkProcessing = cms.PSet(
305  TestBeam = cms.bool(False),
306  EminTrack = cms.double(0.01),
307  PutHistory = cms.bool(False)
308  ),
309  HFShower = cms.PSet(
310  common_UsePMT,
311  common_UseHF,
312  ProbMax = cms.double(1.0),
313  CFibre = cms.double(0.5),
314  PEPerGeV = cms.double(0.31),
315  TrackEM = cms.bool(False),
316  UseShowerLibrary = cms.bool(True),
317  UseHFGflash = cms.bool(False),
318  EminLibrary = cms.double(0.0),
319  OnlyLong = cms.bool(True),
320  LambdaMean = cms.double(350.0),
321  ApplyFiducialCut = cms.bool(True),
322  RefIndex = cms.double(1.459),
323  Aperture = cms.double(0.33),
324  ApertureTrapped = cms.double(0.22),
325  CosApertureTrapped= cms.double(0.5),
326  SinPsiMax = cms.untracked.double(0.5),
327  ParametrizeLast = cms.untracked.bool(False)
328  ),
329  HFShowerLibrary = cms.PSet(
330  FileName = cms.FileInPath('SimG4CMS/Calo/data/HFShowerLibrary_oldpmt_noatt_eta4_16en_v3.root'),
331  BackProbability = cms.double(0.2),
332  TreeEMID = cms.string('emParticles'),
333  TreeHadID = cms.string('hadParticles'),
334  Verbosity = cms.untracked.bool(False),
335  ApplyFiducialCut= cms.bool(True),
336  BranchPost = cms.untracked.string(''),
337  BranchEvt = cms.untracked.string(''),
338  BranchPre = cms.untracked.string('')
339  ),
340  HFShowerPMT = cms.PSet(
341  common_UsePMT,
342  common_UseHF,
343  PEPerGeVPMT = cms.double(1.0),
344  RefIndex = cms.double(1.52),
345  Aperture = cms.double(0.99),
346  ApertureTrapped = cms.double(0.22),
347  CosApertureTrapped= cms.double(0.5),
348  SinPsiMax = cms.untracked.double(0.5)
349  ),
350  HFShowerStraightBundle = cms.PSet(
351  common_UsePMT,
352  common_UseHF,
353  FactorBundle = cms.double(1.0),
354  RefIndex = cms.double(1.459),
355  Aperture = cms.double(0.33),
356  ApertureTrapped = cms.double(0.22),
357  CosApertureTrapped= cms.double(0.5),
358  SinPsiMax = cms.untracked.double(0.5)
359  ),
360  HFShowerConicalBundle = cms.PSet(
361  common_UsePMT,
362  common_UseHF,
363  FactorBundle = cms.double(1.0),
364  RefIndex = cms.double(1.459),
365  Aperture = cms.double(0.33),
366  ApertureTrapped = cms.double(0.22),
367  CosApertureTrapped= cms.double(0.5),
368  SinPsiMax = cms.untracked.double(0.5)
369  ),
370  HFGflash = cms.PSet(
371  BField = cms.untracked.double(3.8),
372  WatcherOn = cms.untracked.bool(True),
373  FillHisto = cms.untracked.bool(True)
374  ),
375  CastorSD = cms.PSet(
376  useShowerLibrary = cms.bool(True),
377  minEnergyInGeVforUsingSLibrary = cms.double(1.0),
378  nonCompensationFactor = cms.double(0.817),
379  Verbosity = cms.untracked.int32(0)
380  ),
381  CastorShowerLibrary = cms.PSet(
382  FileName = cms.FileInPath('SimG4CMS/Forward/data/CastorShowerLibrary_CMSSW500_Standard.root'),
383  BranchEvt = cms.untracked.string('hadShowerLibInfo.'),
384  BranchEM = cms.untracked.string('emParticles.'),
385  BranchHAD = cms.untracked.string('hadParticles.'),
386  Verbosity = cms.untracked.bool(False)
387  ),
388  BHMSD = cms.PSet(
389  Verbosity = cms.untracked.int32(0)
390  ),
391  FastTimerSD = cms.PSet(
392  Verbosity = cms.untracked.int32(0),
393  TimeSliceUnit = cms.double(0.001), #stepping = 1 ps (for timing)
394  IgnoreTrackID = cms.bool(False),
395  EminHit = cms.double(0.0),
396  CheckID = cms.untracked.bool(True),
397  ),
398  HGCSD = cms.PSet(
399  Verbosity = cms.untracked.int32(0),
400  TimeSliceUnit = cms.double(0.001), #stepping = 1 ps (for timing)
401  IgnoreTrackID = cms.bool(False),
402  EminHit = cms.double(0.0),
403  CheckID = cms.untracked.bool(True),
404  ),
405  TotemSD = cms.PSet(
406  Verbosity = cms.untracked.int32(0)
407  ),
408  ZdcSD = cms.PSet(
409  Verbosity = cms.int32(0),
410  UseShowerLibrary = cms.bool(True),
411  UseShowerHits = cms.bool(False),
412  FiberDirection = cms.double(45.0),
413  ZdcHitEnergyCut = cms.double(10.0)
414  ),
415  ZdcShowerLibrary = cms.PSet(
416  Verbosity = cms.untracked.int32(0)
417  ),
418  FP420SD = cms.PSet(
419  Verbosity = cms.untracked.int32(2)
420  ),
421  BscSD = cms.PSet(
422  Verbosity = cms.untracked.int32(0)
423  ),
424  PltSD = cms.PSet(
425  EnergyThresholdForPersistencyInGeV = cms.double(0.2),
426  EnergyThresholdForHistoryInGeV = cms.double(0.05)
427  ),
428  Bcm1fSD = cms.PSet(
429  EnergyThresholdForPersistencyInGeV = cms.double(0.010),
430  EnergyThresholdForHistoryInGeV = cms.double(0.005)
431  ),
432  HcalTB02SD = cms.PSet(
433  UseBirkLaw = cms.untracked.bool(False),
434  BirkC1 = cms.untracked.double(0.013),
435  BirkC3 = cms.untracked.double(1.75),
436  BirkC2 = cms.untracked.double(0.0568)
437  ),
438  EcalTBH4BeamSD = cms.PSet(
439  UseBirkLaw = cms.bool(False),
440  BirkC1 = cms.double(0.013),
441  BirkC3 = cms.double(1.75),
442  BirkC2 = cms.double(0.0568)
443  ),
444  HGCalTestBeamSD = cms.PSet(
445  Material = cms.string('Scintillator'),
446  UseBirkLaw = cms.bool(False),
447  BirkC1 = cms.double(0.013),
448  BirkC3 = cms.double(1.75),
449  BirkC2 = cms.double(0.0568),
450  ),
451  HcalTB06BeamSD = cms.PSet(
452  UseBirkLaw = cms.bool(False),
453  BirkC1 = cms.double(0.013),
454  BirkC3 = cms.double(1.75),
455  BirkC2 = cms.double(0.0568)
456  )
457 )
458 
459 
460 ##
461 ## Change the HFShowerLibrary file used for Run 2
462 ##
463 from Configuration.Eras.Modifier_run2_common_cff import run2_common
464 run2_common.toModify( g4SimHits.HFShowerLibrary, FileName = 'SimG4CMS/Calo/data/HFShowerLibrary_npmt_noatt_eta4_16en_v4.root' )
HF Raddam Dose Class in /SimG4CMS/Calo.