Skip to content

Commit

Permalink
Merge pull request cms-sw#212 from jshlee/GEMCosmicMuon
Browse files Browse the repository at this point in the history
Gem cosmic muon
  • Loading branch information
jshlee committed Nov 18, 2016
2 parents c01f6d2 + 8e8e4bb commit 37f2078
Showing 1 changed file with 237 additions and 0 deletions.
237 changes: 237 additions & 0 deletions Geometry/GEMGeometry/test/runGEMCosmicStand_sim.py
@@ -0,0 +1,237 @@
# Auto generated configuration file
# using:
# Revision: 1.19
# Source: /local/reps/CMSSW/CMSSW/Configuration/Applications/python/ConfigBuilder.py,v
# with command line options: SingleMuPt100_cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,RAW2DIGI,L1Reco,RECO --conditions auto:run2_mc --magField 38T_PostLS1 --datatier GEN-SIM --geometry GEMCosmicStand --eventcontent FEVTDEBUGHLT --era phase2_muon -n 100 --fileout out_reco.root
import FWCore.ParameterSet.Config as cms

from Configuration.StandardSequences.Eras import eras

process = cms.Process('RECO',eras.phase2_muon)

# import of standard configurations
process.load('Configuration.StandardSequences.Services_cff')
process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
process.load('FWCore.MessageService.MessageLogger_cfi')
process.load('Configuration.EventContent.EventContent_cff')
process.load('SimGeneral.MixingModule.mixNoPU_cfi')
process.load('Configuration.StandardSequences.GeometryRecoDB_cff')
process.load('Geometry.GEMGeometry.GeometryGEMCosmicStand_cff')
process.load('Configuration.StandardSequences.MagneticField_0T_cff')
process.load('Configuration.StandardSequences.Generator_cff')
process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
process.load('GeneratorInterface.Core.genFilterSummary_cff')
process.load('Configuration.StandardSequences.SimIdeal_cff')
process.load('Configuration.StandardSequences.Digi_cff')
#process.load('Configuration.StandardSequences.SimL1Emulator_cff')
#process.load('Configuration.StandardSequences.DigiToRaw_cff')
#process.load('Configuration.StandardSequences.RawToDigi_cff')
#process.load('Configuration.StandardSequences.L1Reco_cff')
process.load('Configuration.StandardSequences.Reconstruction_cff')
process.load('Configuration.StandardSequences.EndOfProcess_cff')
process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
process.load('SimMuon.GEMDigitizer.muonGEMDigi_cff')
process.load('RecoLocalMuon.GEMRecHit.gemLocalReco_cff')

process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(20000))

# Input source
process.source = cms.Source("EmptySource")
process.options = cms.untracked.PSet()

# Production Info
process.configurationMetadata = cms.untracked.PSet(
annotation = cms.untracked.string('CosmicMuonGenerator nevts:100'),
name = cms.untracked.string('Applications'),
version = cms.untracked.string('$Revision: 1.19 $')
)

# Output definition
process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule",
SelectEvents = cms.untracked.PSet(
SelectEvents = cms.vstring('generation_step')
),
dataset = cms.untracked.PSet(
dataTier = cms.untracked.string('GEN-SIM'),
filterName = cms.untracked.string('')
),
eventAutoFlushCompressedSize = cms.untracked.int32(10485760),
fileName = cms.untracked.string('out_reco.root'),
#outputCommands = process.FEVTDEBUGHLTEventContent.outputCommands,
outputCommands = cms.untracked.vstring( ('keep *')),
splitLevel = cms.untracked.int32(0)
)

# Additional output definition
from Configuration.AlCa.GlobalTag import GlobalTag
process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_mc', '')

# Cosmic Muon generator
process.load("GeneratorInterface.CosmicMuonGenerator.CMSCGENproducer_cfi")
process.RandomNumberGeneratorService.generator = cms.PSet(
initialSeed = cms.untracked.uint32(123456789),
engineName = cms.untracked.string('HepJamesRandom')
)

process.generator.MaxTheta = 84.
process.generator.ElossScaleFactor = 0.0
process.generator.TrackerOnly = True

## process.genstepfilter.triggerConditions=cms.vstring("generation_step")
## process.generator = cms.EDProducer("FlatRandomPtGunProducer",
## AddAntiParticle = cms.bool(True),
## PGunParameters = cms.PSet(
## MaxEta = cms.double(0.1),
## MaxPhi = cms.double(3.14159265359),
## MaxPt = cms.double(100.01),
## MinEta = cms.double(-0.1),
## MinPhi = cms.double(-3.14159265359),
## MinPt = cms.double(99.99),
## PartID = cms.vint32(-13)
## ),
## Verbosity = cms.untracked.int32(0),
## firstRun = cms.untracked.uint32(1),
## psethack = cms.string('single mu pt 100')
## )

process.mix = cms.EDProducer("MixingModule",
LabelPlayback = cms.string(''),
bunchspace = cms.int32(450),
maxBunch = cms.int32(3),
minBunch = cms.int32(-5),
mixProdStep1 = cms.bool(False),
mixProdStep2 = cms.bool(False),
playback = cms.untracked.bool(False),
useCurrentProcessOnly = cms.bool(False),
digitizers = cms.PSet(),

mixObjects = cms.PSet(
mixSH = cms.PSet(
crossingFrames = cms.untracked.vstring('MuonGEMHits'),
input = cms.VInputTag(cms.InputTag("g4SimHits","MuonGEMHits")),
type = cms.string('PSimHit'),
subdets = cms.vstring('MuonGEMHits'),

)
),
mixTracks = cms.PSet(
input = cms.VInputTag(cms.InputTag("g4SimHits")),
makeCrossingFrame = cms.untracked.bool(True),
type = cms.string('SimTrack')
),
)
process.g4SimHits.UseMagneticField = cms.bool(False)
process.simCastorDigis = cms.EDAlias()
process.simEcalUnsuppressedDigis = cms.EDAlias()
process.simHcalUnsuppressedDigis = cms.EDAlias()
process.simSiPixelDigis = cms.EDAlias()
process.simSiStripDigis = cms.EDAlias()

process.load('RecoMuon.TrackingTools.MuonServiceProxy_cff')
process.MuonServiceProxy.ServiceParameters.Propagators.append('StraightLinePropagator')

process.GEMCosmicMuon = cms.EDProducer("GEMCosmicMuon",
process.MuonServiceProxy,
gemRecHitLabel = cms.InputTag("gemRecHits"),
MuonSmootherParameters = cms.PSet(
PropagatorAlong = cms.string('SteppingHelixPropagatorAny'),
PropagatorOpposite = cms.string('SteppingHelixPropagatorAny'),
RescalingFactor = cms.double(5.0)
),
)
process.GEMCosmicMuon.ServiceParameters.GEMLayers = cms.untracked.bool(True)
process.GEMCosmicMuon.ServiceParameters.CSCLayers = cms.untracked.bool(False)
process.GEMCosmicMuon.ServiceParameters.RPCLayers = cms.bool(False)
#process.GEMCosmicMuon.ServiceParameters.UseMuonNavigation = cms.untracked.bool(False)

# Path and EndPath definitions
process.generation_step = cms.Path(process.pgen)
process.simulation_step = cms.Path(process.psim)
#process.L1simulation_step = cms.Path(process.SimL1Emulator)
#process.digi2raw_step = cms.Path(process.DigiToRaw)
#process.raw2digi_step = cms.Path(process.RawToDigi)
#process.L1Reco_step = cms.Path(process.L1Reco)
process.digitisation_step = cms.Path(process.pdigi)
#process.reconstruction_step = cms.Path(process.reconstruction)
#process.digitisation_step = cms.Path(process.muonGEMDigi)
process.reconstruction_step = cms.Path(process.gemLocalReco+process.GEMCosmicMuon)
process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
process.endjob_step = cms.EndPath(process.endOfProcess)
process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)

process.digitisation_step.remove(process.simMuonME0Digis)
process.digitisation_step.remove(process.simEcalTriggerPrimitiveDigis)
process.digitisation_step.remove(process.simEcalDigis)
process.digitisation_step.remove(process.simEcalPreshowerDigis)
process.digitisation_step.remove(process.simHcalTriggerPrimitiveDigis)
process.digitisation_step.remove(process.simHcalDigis)
process.digitisation_step.remove(process.simHcalTTPDigis)
process.digitisation_step.remove(process.simMuonCSCDigis)
process.digitisation_step.remove(process.simMuonRPCDigis)
process.digitisation_step.remove(process.addPileupInfo)
process.digitisation_step.remove(process.simMuonDTDigis)

# Schedule definition
process.schedule = cms.Schedule(process.generation_step,process.genfiltersummary_step,process.simulation_step,
process.digitisation_step,#process.L1simulation_step,
#process.digi2raw_step,process.raw2digi_step,#process.L1Reco_step,
process.reconstruction_step,
process.endjob_step,process.FEVTDEBUGHLToutput_step)
# filter all path with the production filter sequence
for path in process.paths:
getattr(process,path)._seq = process.generator * getattr(process,path)._seq


process.RandomNumberGeneratorService.simMuonGEMDigis = cms.PSet(
initialSeed = cms.untracked.uint32(1234567),
engineName = cms.untracked.string('HepJamesRandom')
)

process.gemSegments.maxRecHitsInCluster = cms.int32(10)
process.gemSegments.minHitsPerSegment = cms.uint32(3)
process.gemSegments.clusterOnlySameBXRecHits = cms.bool(True)
process.gemSegments.dEtaChainBoxMax = cms.double(1.05)
process.gemSegments.dPhiChainBoxMax = cms.double(1.12)
process.gemSegments.dXclusBoxMax = cms.double(10.0)
process.gemSegments.dYclusBoxMax = cms.double(50.0)
process.gemSegments.preClustering = cms.bool(False)
process.gemSegments.preClusteringUseChaining = cms.bool(False)


process.MessageLogger.categories.append("GEMGeometryBuilderFromDDD")
process.MessageLogger.categories.append("GEMSegmentBuilder")
process.MessageLogger.categories.append("GEMSegmentAlgorithm")
process.MessageLogger.categories.append("MuonSegFit")
process.MessageLogger.categories.append("MuonTrackFinder")
process.MessageLogger.categories.append("MuonTrackLoader")
process.MessageLogger.categories.append("SteppingHelixPropagatorESProducer")
process.MessageLogger.categories.append("CosmicMuonSmoother")
process.MessageLogger.categories.append("SteppingHelixPropagator")
process.MessageLogger.debugModules = cms.untracked.vstring("*")
process.MessageLogger.destinations = cms.untracked.vstring("cout","junk")
process.MessageLogger.cout = cms.untracked.PSet(
threshold = cms.untracked.string("DEBUG"),
default = cms.untracked.PSet( limit = cms.untracked.int32(0) ),
FwkReport = cms.untracked.PSet( limit = cms.untracked.int32(-1) ),
MuonTrackFinder = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
CosmicMuonSmoother = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
MuonTrackLoader = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
SteppingHelixPropagatorESProducer = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
SteppingHelixPropagator = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
## MuonSegFit = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
## GEMGeometryBuilderFromDDD = cms.untracked.PSet( limit = cms.untracked.int32(-1) ),
#GEMSegmentBuilder = cms.untracked.PSet( limit = cms.untracked.int32(-1)),
## GEMSegmentAlgorithm = cms.untracked.PSet( limit = cms.untracked.int32(-1) ),
)

process.simMuonGEMDigis.averageEfficiency = cms.double(0.98)
process.simMuonGEMDigis.averageNoiseRate = cms.double(0.0)
process.simMuonGEMDigis.doBkgNoise = cms.bool(False)
process.simMuonGEMDigis.doNoiseCLS = cms.bool(False)
process.simMuonGEMDigis.simulateElectronBkg = cms.bool(False)


#process.SteppingHelixPropagatorAny.debug = cms.bool(True)
#process.SteppingHelixPropagatorAny.sendLogWarning = cms.bool(True)
#process.SteppingHelixPropagatorAny.useInTeslaFromMagField = cms.bool(False)
#process.SteppingHelixPropagatorAny.useMagVolumes = cms.bool(False)

0 comments on commit 37f2078

Please sign in to comment.