CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
muonCSCDigis_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 # This object is used to customise for different running scenarios, e.g. run2
4 from Configuration.StandardSequences.Eras import eras
5 
6 simMuonCSCDigis = cms.EDProducer("CSCDigiProducer",
7  strips = cms.PSet(
8  peakTimeSigma = cms.double(3.0),
9  timeBitForBxZero = cms.int32(6),
10  doNoise = cms.bool(True),
11  nScaBins = cms.int32(8),
12  doCrosstalk = cms.bool(True),
13  pedestal = cms.double(600.0),
14  gainsConstant = cms.double(0.27),
15  signalStartTime = cms.double(-250.0),
16  shapingTime = cms.int32(100),
17  comparatorTimeOffset = cms.double(15.0),
18  # bunchTimingOffsets
19  # Latest tuning by Vadim Khotilovich 16-Nov-2012 based on SingleMuPt10 relval sample.
20  # Validation plots: http://khotilov.web.cern.ch/khotilov/csc/digiBunchTimingOffsets/
21  # [Previous tuning by Chris Farrell
22  # http://indico.cern.ch/getFile.py/access?contribId=5&resId=0&materialId=slides&confId=111101]
23  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),
24  signalSpeed = cms.vdouble(0.0, -78, -76, -188, -262, -97, -99, -90, -99, -99, -113),
25  timingCalibrationError = cms.vdouble(0., 4.2, 4.2, 0., 0., 0., 0., 0., 0., 0., 0.),
26  # parameters for tuning timing
27  scaTimingOffsets = cms.vdouble(0.0, 10., 10., 0.,0.,0.,0.,0.,0.,0.,0.),
28  comparatorTimeBinOffset = cms.double(3.0),
29  comparatorSamplingTime = cms.double(25.0),
30  scaPeakBin = cms.int32(5),
31  pedestalSigma = cms.double(1.5),
32  signalStopTime = cms.double(500.0),
33  readBadChannels = cms.bool(False),
34  readBadChambers = cms.bool(True),
35  CSCUseTimingCorrections = cms.bool(False),
36  CSCUseGasGainCorrections = cms.bool(False),
37  gain = cms.double(2.0), ## counts per fC
38 
39  capacativeCrosstalk = cms.double(35.0),
40  samplingTime = cms.double(25.0),
41  resistiveCrosstalkScaling = cms.double(1.8),
42  me11gain = cms.double(4.0),
43  doSuppression = cms.bool(False),
44  tailShaping = cms.int32(2),
45  ampGainSigma = cms.double(0.03),
46  doCorrelatedNoise = cms.bool(True)
47  ),
48  doNeutrons = cms.bool(False),
49 # neutrons = cms.PSet(
50 # luminosity = cms.double(0.1),
51 # eventOccupancy = cms.vdouble(0.000709, 0.000782, 0.000162, 0.000162, 0.00238,
52 # 0.000141, 0.00101, 0.000126, 0.000129),
53 # startTime = cms.double(-400.0),
54 # reader = cms.string('ROOT'),
55 # input = cms.FileInPath('SimMuon/CSCDigitizer/data/CSCNeutronHits.root'),
56 # endTime = cms.double(200.0)
57 # ),
58  wires = cms.PSet(
59  signalStopTime = cms.double(300.0),
60  # again, from http://indico.cern.ch/getFile.py/access?contribId=5&resId=0&materialId=slides&confId=111101
61  timingCalibrationError = cms.vdouble(0., 6.2, 6.2, 0., 0., 0., 0., 0., 0., 0., 0.),
62  signalStartTime = cms.double(-200.0),
63  signalSpeed = cms.vdouble(0.0, -700, 900, 160, 146, 148, 117, 131, 107, 123, 123),
64  peakTimeSigma = cms.double(0.0),
65  shapingTime = cms.int32(30),
66  readBadChannels = cms.bool(False),
67  timeBitForBxZero = cms.int32(6),
68  samplingTime = cms.double(5.0),
69  # bunchTimingOffsets - comments for strips (above) also apply
70  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),
71  tailShaping = cms.int32(2),
72  doNoise = cms.bool(True)
73  ),
74 
75  mixLabel = cms.string("mix"),
76  InputCollection = cms.string("g4SimHitsMuonCSCHits"),
77 
78  stripConditions = cms.string('Database'),
79  GeometryType = cms.string('idealForDigi'),
80  digitizeBadChambers = cms.bool(False),
81  layersNeeded = cms.uint32(3),
82  dumpGasCollisions = cms.untracked.bool(False)
83 )
84 
85 ##
86 ## Change the the bunch timing offsets if running in Run 2
87 ##
88 eras.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] )
89 eras.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] )
90 
91 from Configuration.StandardSequences.Eras import eras
92 if eras.fastSim.isChosen():
93  simMuonCSCDigis.InputCollection = 'MuonSimHitsMuonCSCHits'