Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:30:41

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # This object is used to customise for different running scenarios, e.g. run2
0004 
0005 simMuonCSCDigis = cms.EDProducer("CSCDigiProducer",
0006     strips = cms.PSet(
0007         peakTimeSigma = cms.double(3.0),
0008         timeBitForBxZero = cms.int32(6),
0009         doNoise = cms.bool(True),
0010         nScaBins = cms.int32(8),
0011         doCrosstalk = cms.bool(True),
0012         pedestal = cms.double(600.0),
0013         gainsConstant = cms.double(0.27),
0014         signalStartTime = cms.double(-250.0),
0015         shapingTime = cms.int32(100),
0016         comparatorTimeOffset = cms.double(15.0),
0017         # bunchTimingOffsets
0018         # Latest tuning by Vadim Khotilovich 16-Nov-2012 based on SingleMuPt10 relval sample.
0019         # Validation plots: http://khotilov.web.cern.ch/khotilov/csc/digiBunchTimingOffsets/
0020         # [Previous tuning by Chris Farrell
0021         # http://indico.cern.ch/getFile.py/access?contribId=5&resId=0&materialId=slides&confId=111101]
0022         bunchTimingOffsets = cms.vdouble(0.00, 40.52, 39.27, 57.28, 49.32, 56.27, 56.23, 54.73, 56.13, 53.65, 53.27),
0023         signalSpeed = cms.vdouble(0.0, -78, -76, -188, -262, -97, -99, -90, -99, -99, -113),
0024         timingCalibrationError = cms.vdouble(0., 4.2, 4.2, 0., 0., 0., 0., 0., 0., 0., 0.),
0025         # parameters for tuning timing
0026         scaTimingOffsets =  cms.vdouble(0.0, 10., 10., 0.,0.,0.,0.,0.,0.,0.,0.),
0027         ## this offset ensures that the central CLCT BX is 7 in simulation
0028         comparatorTimeBinOffset = cms.double(4.0),
0029         comparatorSamplingTime = cms.double(25.0),
0030         scaPeakBin = cms.int32(5),
0031         pedestalSigma = cms.double(1.5),
0032         signalStopTime = cms.double(500.0),
0033         readBadChannels = cms.bool(False),
0034         readBadChambers = cms.bool(True),
0035         CSCUseTimingCorrections = cms.bool(False),
0036         CSCUseGasGainCorrections = cms.bool(False),
0037         gain = cms.double(2.0), ## counts per fC
0038 
0039         capacativeCrosstalk = cms.double(35.0),
0040         samplingTime = cms.double(25.0),
0041         resistiveCrosstalkScaling = cms.double(1.8),
0042         me11gain = cms.double(4.0),
0043         doSuppression = cms.bool(False),
0044         tailShaping = cms.int32(2),
0045         ampGainSigma = cms.double(0.03),
0046         doCorrelatedNoise = cms.bool(True)
0047     ),
0048     doNeutrons = cms.bool(False),
0049 #    neutrons = cms.PSet(
0050 #        luminosity = cms.double(0.1),
0051 #        eventOccupancy = cms.vdouble(0.000709, 0.000782, 0.000162, 0.000162, 0.00238, 
0052 #            0.000141, 0.00101, 0.000126, 0.000129),
0053 #        startTime = cms.double(-400.0),
0054 #        reader = cms.string('ROOT'),
0055 #        input = cms.FileInPath('SimMuon/CSCDigitizer/data/CSCNeutronHits.root'),
0056 #        endTime = cms.double(200.0)
0057 #    ),
0058     wires = cms.PSet(
0059         signalStopTime = cms.double(300.0),
0060         # again, from http://indico.cern.ch/getFile.py/access?contribId=5&resId=0&materialId=slides&confId=111101
0061         timingCalibrationError = cms.vdouble(0., 6.2, 6.2, 0., 0., 0., 0., 0., 0., 0., 0.),
0062         signalStartTime = cms.double(-200.0),
0063         signalSpeed = cms.vdouble(0.0, -700, 900, 160, 146, 148, 117, 131, 107, 123, 123),
0064         peakTimeSigma = cms.double(0.0),
0065         shapingTime = cms.int32(30),
0066         readBadChannels = cms.bool(False),
0067         timeBitForBxZero = cms.int32(8),
0068         samplingTime = cms.double(5.0),
0069         # bunchTimingOffsets - comments for strips (above) also apply
0070         bunchTimingOffsets = cms.vdouble(0.00, 21.64, 21.64, 28.29, 29.36, 29.33, 28.57, 28.61, 28.83, 29.09, 28.22),
0071         tailShaping = cms.int32(2),
0072         doNoise = cms.bool(True)
0073     ),
0074    
0075     mixLabel = cms.string("mix"),
0076     InputCollection = cms.string("g4SimHitsMuonCSCHits"),
0077 
0078     stripConditions = cms.string('Database'),
0079     GeometryType = cms.string('idealForDigi'),                            
0080     digitizeBadChambers = cms.bool(False),
0081     layersNeeded = cms.uint32(3),
0082     dumpGasCollisions = cms.untracked.bool(False)
0083 )
0084 
0085 ##
0086 ## Change the the bunch timing offsets if running in Run 2
0087 ##
0088 from Configuration.Eras.Modifier_run2_common_cff import run2_common
0089 run2_common.toModify( simMuonCSCDigis.strips, bunchTimingOffsets=[0.0, 37.53, 37.66, 55.4, 48.2, 54.45, 53.78, 53.38, 54.12, 51.98, 51.28] )
0090 run2_common.toModify( simMuonCSCDigis.wires, bunchTimingOffsets=[0.0, 22.88, 22.55, 29.28, 30.0, 30.0, 30.5, 31.0, 29.5, 29.1, 29.88] )
0091 
0092 from Configuration.Eras.Modifier_fastSim_cff import fastSim
0093 fastSim.toModify(simMuonCSCDigis, InputCollection = 'MuonSimHitsMuonCSCHits')
0094 
0095 from Configuration.ProcessModifiers.premix_stage2_cff import premix_stage2
0096 premix_stage2.toModify(simMuonCSCDigis, mixLabel = "mixData")