CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SiStripSimParameters_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 SiStripSimBlock = cms.PSet(
4  #---SiLinearChargeDivider
5  DeltaProductionCut = cms.double(0.120425),
6  APVpeakmode = cms.bool(False), # also SiStripDigitizerAlgorithm
7  LandauFluctuations = cms.bool(True),
8  chargeDivisionsPerStrip = cms.int32(10),
9  CosmicDelayShift = cms.untracked.double(0.0), # also SiStripDigitizerAlgorithm
10 
11  APVShapeDecoFile = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapeDeco_default.txt"),
12  APVShapePeakFile = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapePeak_default.txt"),
13 
14  #---SiHitDigitizer
15  DepletionVoltage = cms.double(170.0),
16  AppliedVoltage = cms.double(300.0),
17  ChargeMobility = cms.double(310.0),
18  Temperature = cms.double(273.0),
19  GevPerElectron = cms.double(3.61e-09),
20  ChargeDistributionRMS = cms.double(6.5e-10),
21  noDiffusion = cms.bool(False),
22  #---SiTrivialInduceChargeOnStrips
23  #switch to use different coupling constants set
24  #if True RunII cross talk will be used
25  #if False RunI cross talk will be used
26  CouplingConstantsRunIIDecB = cms.bool(False), #for TIB and TOB
27  CouplingConstantsRunIIDecW = cms.bool(False), #for TID and TEC
28  #TIB
29  CouplingConstantDecIB1 = cms.vdouble(0.7748, 0.0962,0.0165),
30  CouplingConstantDecIB2 = cms.vdouble(0.8300, 0.0756,0.0094),
31  CouplingConstantPeakIB1 = cms.vdouble(0.9006, 0.0497),
32  CouplingConstantPeakIB2 = cms.vdouble(0.9342, 0.0328),
33  #TOB
34  CouplingConstantDecOB1 = cms.vdouble(0.6871, 0.1222, 0.0342),
35  CouplingConstantDecOB2 = cms.vdouble(0.7250, 0.1102, 0.0273),
36  CouplingConstantPeakOB1 = cms.vdouble(0.8542, 0.0729),
37  CouplingConstantPeakOB2 = cms.vdouble(0.8719, 0.0640),
38  #TID
39  CouplingConstantDecW1a = cms.vdouble(0.786, 0.093, 0.014),
40  CouplingConstantDecW2a = cms.vdouble(0.7962, 0.0914, 0.0104),
41  CouplingConstantDecW3a = cms.vdouble(0.8164, 0.0900, 0.0018),
42  CouplingConstantPeakW1a = cms.vdouble(0.996, 0.002),
43  CouplingConstantPeakW2a = cms.vdouble(1.0, 0.000),
44  CouplingConstantPeakW3a = cms.vdouble(0.996, 0.002),
45  #TEC
46  CouplingConstantDecW1b = cms.vdouble(0.822, 0.08, 0.009),
47  CouplingConstantDecW2b = cms.vdouble(0.888, 0.05, 0.006),
48  CouplingConstantDecW3b = cms.vdouble(0.848, 0.06, 0.016),
49  CouplingConstantDecW4 = cms.vdouble(0.876, 0.06, 0.002),
50  CouplingConstantDecW5 = cms.vdouble(0.7565, 0.0913, 0.0304),
51  CouplingConstantDecW6 = cms.vdouble(0.758, 0.093, 0.026),
52  CouplingConstantDecW7 = cms.vdouble(0.7828, 0.0862, 0.0224),
53  CouplingConstantPeakW1b = cms.vdouble(0.976, 0.012),
54  CouplingConstantPeakW2b = cms.vdouble(0.998, 0.001),
55  CouplingConstantPeakW3b = cms.vdouble(0.992, 0.004),
56  CouplingConstantPeakW4 = cms.vdouble(0.992, 0.004),
57  CouplingConstantPeakW5 = cms.vdouble(0.968, 0.016),
58  CouplingConstantPeakW6 = cms.vdouble(0.972, 0.014),
59  CouplingConstantPeakW7 = cms.vdouble(0.964, 0.018),
60 
61  #RunII (2018) deconvolution parameters
62  #TIB
63  CouplingConstantRunIIDecIB1 = cms.vdouble(0.8361, 0.0703, 0.0117),
64  CouplingConstantRunIIDecIB2 = cms.vdouble(0.8616, 0.0588, 0.0104),
65  #TOB
66  CouplingConstantRunIIDecOB2 = cms.vdouble(0.7925, 0.0834, 0.0203),
67  CouplingConstantRunIIDecOB1 = cms.vdouble(0.7461, 0.0996, 0.0273),
68  #TID
69  CouplingConstantRunIIDecW1a = cms.vdouble(0.8571, 0.0608, 0.0106),
70  CouplingConstantRunIIDecW2a = cms.vdouble(0.8861, 0.049, 0.008),
71  CouplingConstantRunIIDecW3a = cms.vdouble(0.8984, 0.0494, 0.0014),
72  #TEC
73  CouplingConstantRunIIDecW1b = cms.vdouble(0.8827, 0.0518, 0.0068),
74  CouplingConstantRunIIDecW2b = cms.vdouble(0.8943, 0.0483, 0.0046),
75  CouplingConstantRunIIDecW3b = cms.vdouble(0.8611, 0.0573, 0.0121),
76  CouplingConstantRunIIDecW4 = cms.vdouble(0.8881, 0.0544, 0.0015),
77  CouplingConstantRunIIDecW5 = cms.vdouble(0.7997, 0.077, 0.0231),
78  CouplingConstantRunIIDecW6 = cms.vdouble(0.8067, 0.0769, 0.0198),
79  CouplingConstantRunIIDecW7 = cms.vdouble(0.7883, 0.0888, 0.0171),
80 
81  #-----SiStripDigitizer
82  DigiModeList = cms.PSet(SCDigi = cms.string('ScopeMode'),
83  ZSDigi = cms.string('ZeroSuppressed'),
84  PRDigi = cms.string('ProcessedRaw'),
85  VRDigi = cms.string('VirginRaw')),
86  ROUList = cms.vstring("TrackerHitsTIBLowTof","TrackerHitsTIBHighTof",
87  "TrackerHitsTIDLowTof","TrackerHitsTIDHighTof",
88  "TrackerHitsTOBLowTof","TrackerHitsTOBHighTof",
89  "TrackerHitsTECLowTof","TrackerHitsTECHighTof"),
90  GeometryType = cms.string('idealForDigi'),
91  TrackerConfigurationFromDB = cms.bool(False),
92  ZeroSuppression = cms.bool(True),
93  LorentzAngle = cms.string(''),
94  Gain = cms.string(''),
95  #-----SiStripDigitizerAlgorithm
96  PreMixingMode = cms.bool(False),
97  NoiseSigmaThreshold = cms.double(2.0),
98  electronPerAdcDec = cms.double(247.0), #tuned on collisions at 7 TeV
99  electronPerAdcPeak = cms.double(262.0), #tuned on craft08
100  FedAlgorithm = cms.int32(4),
101  FedAlgorithm_PM = cms.int32(4), # extra degree of freedom for PreMixing
102  Noise = cms.bool(True), ## NOTE : turning Noise ON/OFF will make a big change
103  #Parameters valid only if Noise = True and ZeroSuppression = False
104  RealPedestals = cms.bool(True), #The pedestal for each stip is read from the Db. if False it is added to all the strips the cnetral strip pedestal value
105  SingleStripNoise = cms.bool(True), #The noise RMS is read from the Db. If false it is considered the central strip noise
106  CommonModeNoise = cms.bool(True),
107  BaselineShift = cms.bool(True),
108  APVSaturationFromHIP = cms.bool(False),
109  APVSaturationProbScaling = cms.double(1.0),
110  APVProbabilityFile = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVProbaList.txt"),
111  cmnRMStib = cms.double(5.92),
112  cmnRMStob = cms.double(1.08),
113  cmnRMStid = cms.double(3.08),
114  cmnRMStec = cms.double(2.44),
115  PedestalsOffset = cms.double(128),
116  #
117  TOFCutForDeconvolution = cms.double(50.0),
118  TOFCutForPeak = cms.double(100.0),
119  Inefficiency = cms.double(0.0),
120  # APV Dynamic Gain Simulation
121  includeAPVSimulation = cms.bool( False ),
122  apv_maxResponse = cms.double( 729 ),
123  apv_rate = cms.double( 66.2 ),
124  apv_mVPerQ = cms.double( 5.5 ),
125  apvfCPerElectron = cms.double( 1.602e-4 ),
126  fracOfEventsToSimAPV = cms.double( 0.0 ), # fraction of events to simulate APV saturation
127 )
128 
129 #################################################
130 # activate APV simulation for 2016 Strip detector (UL 2016)
131 # According to this document https://indico.cern.ch/event/560226/contributions/2277448/attachments/1324704/1988050/wgm_vfp_change_ebutz.pdf
132 # the first LHC fill taken with vfp=0 settings is https://cmswbm.cern.ch/cmsdb/servlet/FillReport?FILL=5198 (run 278801)
133 # cf Prompt-Reco DQM: https://tinyurl.com/y2gybwx7
134 # pre-VFP runs: 273150-278800 lumi: 19480.4566773 /pb
135 # post-VFP runs: 278801-284044 lumi: 16755.0362868 /pb
136 # ~53.8% of luminosity is affected by APV saturation
137 #################################################
138 
139 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
140 tracker_apv_vfp30_2016.toModify(SiStripSimBlock,
141  includeAPVSimulation = True,
142  fracOfEventsToSimAPV = 1.0
143  )
144 
145 from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1
146 premix_stage1.toModify(SiStripSimBlock,
147  Noise = False,
148  PreMixingMode = True,
149  FedAlgorithm = 5, # special ZS mode: accept adc>0
150  includeAPVSimulation = False # APV simulation is off for premix stage1
151 )
152 
153 from Configuration.Eras.Modifier_run2_common_cff import run2_common
154 run2_common.toModify(SiStripSimBlock,
155  CouplingConstantsRunIIDecB = True, #for TIB and TOB
156  CouplingConstantsRunIIDecW = True, #for TID and TEC
157  APVShapeDecoFile =cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapeDeco_320.txt")
158  )