Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:57

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("PROD")
0004 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0005 
0006 process.load("IOMC.EventVertexGenerators.VtxSmearedGauss_cfi")
0007 
0008 #process.load("SimG4CMS.Calo.testGeometryPMTXML_cfi")
0009 process.load("Geometry.CMSCommonData.cmsHFPMTAverageXML_cfi")
0010 #process.load("SimG4CMS.Calo.cmsHFPMTXML_cfi")
0011 process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi")
0012 process.load("Geometry.EcalCommonData.ecalSimulationParameters_cff")
0013 process.load("Geometry.HcalCommonData.hcalDDConstants_cff")
0014 process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")
0015 process.load("Geometry.MuonNumbering.muonOffsetESProducer_cff")
0016 process.load("Configuration.StandardSequences.MagneticField_cff")
0017 process.load("Configuration.EventContent.EventContent_cff")
0018 process.load('Configuration.StandardSequences.Generator_cff')
0019 process.load('Configuration.StandardSequences.SimIdeal_cff')
0020 process.load("SimG4CMS.Calo.HFPMTHitAnalyzer_cfi")
0021 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0022 from Configuration.AlCa.autoCond import autoCond
0023 process.GlobalTag.globaltag = autoCond['run1_mc']
0024 
0025 process.MessageLogger = cms.Service("MessageLogger",
0026     destinations = cms.untracked.vstring('cout'),
0027     categories = cms.untracked.vstring('CaloSim', 
0028         'EcalSim', 'G4cerr', 'G4cout',
0029         'HcalSim', 'HFShower'),
0030 #    debugModules = cms.untracked.vstring('*'),
0031     cout = cms.untracked.PSet(
0032 #        threshold = cms.untracked.string('DEBUG'),
0033         INFO = cms.untracked.PSet(
0034             limit = cms.untracked.int32(0)
0035         ),
0036         DEBUG = cms.untracked.PSet(
0037             limit = cms.untracked.int32(0)
0038         ),
0039         CaloSim = cms.untracked.PSet(
0040             limit = cms.untracked.int32(0)
0041         ),
0042         EcalSim = cms.untracked.PSet(
0043             limit = cms.untracked.int32(0)
0044         ),
0045         G4cerr = cms.untracked.PSet(
0046             limit = cms.untracked.int32(0)
0047         ),
0048         G4cout = cms.untracked.PSet(
0049             limit = cms.untracked.int32(0)
0050         ),
0051         HcalSim = cms.untracked.PSet(
0052             limit = cms.untracked.int32(0)
0053         ),
0054         HFShower = cms.untracked.PSet(
0055             limit = cms.untracked.int32(-1)
0056         )
0057     )
0058 )
0059 
0060 process.load("IOMC.RandomEngine.IOMC_cff")
0061 process.RandomNumberGeneratorService.generator.initialSeed = 456789
0062 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0063 process.RandomNumberGeneratorService.VtxSmeared.initialSeed = 123456789
0064 
0065 process.Timing = cms.Service("Timing")
0066 
0067 process.maxEvents = cms.untracked.PSet(
0068     input = cms.untracked.int32(5)
0069 )
0070 
0071 process.source = cms.Source("EmptySource",
0072     firstRun        = cms.untracked.uint32(1),
0073     firstEvent      = cms.untracked.uint32(1)
0074 )
0075 
0076 process.generator = cms.EDProducer("FlatRandomEGunProducer",
0077     PGunParameters = cms.PSet(
0078         PartID = cms.vint32(211),
0079         MinEta = cms.double(3.25),
0080         MaxEta = cms.double(4.80),
0081         MinPhi = cms.double(-3.1415926),
0082         MaxPhi = cms.double(3.1415926),
0083         MinE   = cms.double(1000.00),
0084         MaxE   = cms.double(1000.00)
0085     ),
0086     Verbosity       = cms.untracked.int32(0),
0087     AddAntiParticle = cms.bool(False)
0088 )
0089 
0090 process.output = cms.OutputModule("PoolOutputModule",
0091     process.FEVTSIMEventContent,
0092     fileName = cms.untracked.string('simevent.root')
0093 )
0094 
0095 process.TFileService = cms.Service("TFileService",
0096     fileName = cms.string('HFPMT2.root')
0097 )
0098 
0099 process.generation_step = cms.Path(process.pgen)
0100 process.simulation_step = cms.Path(process.psim)
0101 process.analysis_step   = cms.Path(process.HFPMTHitAnalyzer)
0102 process.out_step = cms.EndPath(process.output)
0103 
0104 process.g4SimHits.Physics.type = 'SimG4Core/Physics/QGSP_FTFP_BERT_EML'
0105 process.g4SimHits.Physics.DefaultCutValue   = 0.1
0106 process.g4SimHits.HCalSD.UseShowerLibrary   = False
0107 process.g4SimHits.HCalSD.UseParametrize     = True
0108 process.g4SimHits.HCalSD.UsePMTHits         = True
0109 process.g4SimHits.HFShower.UseShowerLibrary = False
0110 process.g4SimHits.HFShower.UseHFGflash      = True
0111 process.g4SimHits.HFShower.TrackEM          = False
0112 process.g4SimHits.HFShower.HFShowerBlock.OnlyLong = cms.bool(True)
0113 process.g4SimHits.HFShower.EminLibrary      = 0.0
0114 process.g4SimHits.HCalSD.HEDarkening        = False
0115 process.common_maximum_timex = cms.PSet(
0116     MaxTrackTime  = cms.double(1000.0),
0117     MaxTrackTimeForward = cms.double(2000.0), # ns
0118     MaxTimeNames  = cms.vstring(),
0119     MaxTrackTimes = cms.vdouble(),
0120     MaxZCentralCMS = cms.double(50.0), # m
0121     DeadRegions   = cms.vstring(),
0122     CriticalEnergyForVacuum = cms.double(2.0),
0123     CriticalDensity         = cms.double(1e-15)
0124 )
0125 process.g4SimHits.StackingAction = cms.PSet(
0126     process.common_heavy_suppression,
0127     process.common_maximum_timex,
0128     TrackNeutrino = cms.bool(False),
0129     KillDeltaRay  = cms.bool(False),
0130     KillHeavy     = cms.bool(False),
0131     KillGamma     = cms.bool(False),
0132     GammaThreshold= cms.double(0.0001),  ## (MeV)
0133     SaveFirstLevelSecondary = cms.untracked.bool(True),
0134     SavePrimaryDecayProductsAndConversionsInTracker = cms.untracked.bool(True),
0135     SavePrimaryDecayProductsAndConversionsInCalo    = cms.untracked.bool(True),
0136     SavePrimaryDecayProductsAndConversionsInMuon    = cms.untracked.bool(True),
0137     RusRoGammaEnergyLimit  = cms.double(5.0), ## (MeV)
0138     RusRoEcalGamma         = cms.double(0.3),
0139     RusRoHcalGamma         = cms.double(0.3),
0140     RusRoMuonIronGamma     = cms.double(0.3),
0141     RusRoPreShowerGamma    = cms.double(0.3),
0142     RusRoCastorGamma       = cms.double(0.3),
0143     RusRoWorldGamma        = cms.double(0.3),
0144     RusRoNeutronEnergyLimit= cms.double(10.0), ## (MeV)
0145     RusRoEcalNeutron       = cms.double(0.1),
0146     RusRoHcalNeutron       = cms.double(0.1),
0147     RusRoMuonIronNeutron   = cms.double(0.1),
0148     RusRoPreShowerNeutron  = cms.double(0.1),
0149     RusRoCastorNeutron     = cms.double(0.1),
0150     RusRoWorldNeutron      = cms.double(0.1),
0151     RusRoProtonEnergyLimit = cms.double(0.0),
0152     RusRoEcalProton        = cms.double(1.0),
0153     RusRoHcalProton        = cms.double(1.0),
0154     RusRoMuonIronProton    = cms.double(1.0),
0155     RusRoPreShowerProton   = cms.double(1.0),
0156     RusRoCastorProton      = cms.double(1.0),
0157     RusRoWorldProton       = cms.double(1.0)
0158 )
0159 process.g4SimHits.SteppingAction = cms.PSet(
0160     process.common_maximum_timex,
0161     MaxNumberOfSteps        = cms.int32(50000),
0162     EkinNames               = cms.vstring(),
0163     EkinThresholds          = cms.vdouble(),
0164     EkinParticles           = cms.vstring(),
0165     Verbosity               = cms.untracked.int32(2)
0166 )
0167 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0168     CheckForHighEtPhotons = cms.untracked.bool(False),
0169     TrackMin     = cms.untracked.int32(0),
0170     TrackMax     = cms.untracked.int32(0),
0171     TrackStep    = cms.untracked.int32(1),
0172     EventMin     = cms.untracked.int32(0),
0173     EventMax     = cms.untracked.int32(0),
0174     EventStep    = cms.untracked.int32(1),
0175     PDGids       = cms.untracked.vint32(),
0176     VerboseLevel = cms.untracked.int32(0),
0177     G4Verbose    = cms.untracked.bool(True),
0178     DEBUG        = cms.untracked.bool(False),
0179     type         = cms.string('TrackingVerboseAction')
0180 ))
0181 
0182 # Schedule definition
0183 process.schedule = cms.Schedule(process.generation_step,
0184                                 process.simulation_step,
0185                                 process.analysis_step,
0186                                 process.out_step
0187                                 )
0188 
0189 # filter all path with the production filter sequence
0190 for path in process.paths:
0191         getattr(process,path)._seq = process.generator * getattr(process,path)._seq