Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:04:45

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 SiStripSimBlock = cms.PSet(
0004     #---SiLinearChargeDivider
0005     DeltaProductionCut      = cms.double(0.120425),
0006     APVpeakmode             = cms.bool(False), # also SiStripDigitizerAlgorithm
0007     LandauFluctuations      = cms.bool(True),
0008     chargeDivisionsPerStrip = cms.int32(10),
0009     CosmicDelayShift        = cms.untracked.double(0.0), # also SiStripDigitizerAlgorithm
0010     
0011     APVShapeDecoFile = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapeDeco_default.txt"),
0012     APVShapePeakFile = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapePeak_default.txt"),
0013 
0014     #---SiHitDigitizer
0015     DepletionVoltage        = cms.double(170.0),
0016     AppliedVoltage          = cms.double(300.0),
0017     ChargeMobility          = cms.double(310.0),
0018     Temperature             = cms.double(273.0),
0019     GevPerElectron          = cms.double(3.61e-09),
0020     ChargeDistributionRMS   = cms.double(6.5e-10),
0021     noDiffusion             = cms.bool(False),
0022     #---SiTrivialInduceChargeOnStrips
0023     #switch to use different coupling constants set
0024     #if True RunII cross talk will be used
0025     #if False RunI cross talk will be used
0026     CouplingConstantsRunIIDecB   = cms.bool(False), #for TIB and TOB
0027     CouplingConstantsRunIIDecW   = cms.bool(False), #for TID and TEC
0028     #TIB
0029     CouplingConstantDecIB1  = cms.vdouble(0.7748, 0.0962,0.0165),                    
0030     CouplingConstantDecIB2  = cms.vdouble(0.8300, 0.0756,0.0094),                    
0031     CouplingConstantPeakIB1 = cms.vdouble(0.9006, 0.0497),                           
0032     CouplingConstantPeakIB2 = cms.vdouble(0.9342, 0.0328),                           
0033     #TOB
0034     CouplingConstantDecOB1  = cms.vdouble(0.6871, 0.1222, 0.0342),                   
0035     CouplingConstantDecOB2  = cms.vdouble(0.7250, 0.1102, 0.0273),                   
0036     CouplingConstantPeakOB1 = cms.vdouble(0.8542, 0.0729),                           
0037     CouplingConstantPeakOB2 = cms.vdouble(0.8719, 0.0640),
0038     #TID
0039     CouplingConstantDecW1a  = cms.vdouble(0.786, 0.093, 0.014),                      
0040     CouplingConstantDecW2a  = cms.vdouble(0.7962, 0.0914, 0.0104),                   
0041     CouplingConstantDecW3a  = cms.vdouble(0.8164, 0.0900, 0.0018),                   
0042     CouplingConstantPeakW1a = cms.vdouble(0.996, 0.002),                             
0043     CouplingConstantPeakW2a = cms.vdouble(1.0,   0.000),                             
0044     CouplingConstantPeakW3a = cms.vdouble(0.996, 0.002),
0045     #TEC
0046     CouplingConstantDecW1b  = cms.vdouble(0.822, 0.08,  0.009),                      
0047     CouplingConstantDecW2b  = cms.vdouble(0.888, 0.05,  0.006),                      
0048     CouplingConstantDecW3b  = cms.vdouble(0.848, 0.06,  0.016),                      
0049     CouplingConstantDecW4   = cms.vdouble(0.876, 0.06,  0.002),                      
0050     CouplingConstantDecW5   = cms.vdouble(0.7565, 0.0913, 0.0304),                   
0051     CouplingConstantDecW6   = cms.vdouble(0.758, 0.093, 0.026),                      
0052     CouplingConstantDecW7   = cms.vdouble(0.7828, 0.0862, 0.0224),                   
0053     CouplingConstantPeakW1b = cms.vdouble(0.976, 0.012),                             
0054     CouplingConstantPeakW2b = cms.vdouble(0.998, 0.001),                             
0055     CouplingConstantPeakW3b = cms.vdouble(0.992, 0.004),                             
0056     CouplingConstantPeakW4  = cms.vdouble(0.992, 0.004),                             
0057     CouplingConstantPeakW5  = cms.vdouble(0.968, 0.016),
0058     CouplingConstantPeakW6  = cms.vdouble(0.972, 0.014),
0059     CouplingConstantPeakW7  = cms.vdouble(0.964, 0.018),
0060 
0061     #RunII (2018) deconvolution parameters 
0062     #TIB
0063     CouplingConstantRunIIDecIB1 = cms.vdouble(0.8361, 0.0703, 0.0117),
0064     CouplingConstantRunIIDecIB2 = cms.vdouble(0.8616, 0.0588, 0.0104),
0065     #TOB
0066     CouplingConstantRunIIDecOB2 = cms.vdouble(0.7925, 0.0834, 0.0203),
0067     CouplingConstantRunIIDecOB1 = cms.vdouble(0.7461, 0.0996, 0.0273),
0068     #TID
0069     CouplingConstantRunIIDecW1a = cms.vdouble(0.8571, 0.0608, 0.0106),
0070     CouplingConstantRunIIDecW2a = cms.vdouble(0.8861, 0.049, 0.008),
0071     CouplingConstantRunIIDecW3a = cms.vdouble(0.8984, 0.0494, 0.0014),
0072     #TEC
0073     CouplingConstantRunIIDecW1b = cms.vdouble(0.8827, 0.0518, 0.0068),
0074     CouplingConstantRunIIDecW2b = cms.vdouble(0.8943, 0.0483, 0.0046),
0075     CouplingConstantRunIIDecW3b = cms.vdouble(0.8611, 0.0573, 0.0121),
0076     CouplingConstantRunIIDecW4  = cms.vdouble(0.8881, 0.0544, 0.0015),
0077     CouplingConstantRunIIDecW5  = cms.vdouble(0.7997, 0.077, 0.0231),
0078     CouplingConstantRunIIDecW6  = cms.vdouble(0.8067, 0.0769, 0.0198),
0079     CouplingConstantRunIIDecW7  = cms.vdouble(0.7883, 0.0888, 0.0171),
0080 
0081     #-----SiStripDigitizer
0082     DigiModeList = cms.PSet(SCDigi = cms.string('ScopeMode'),
0083                             ZSDigi = cms.string('ZeroSuppressed'),
0084                             PRDigi = cms.string('ProcessedRaw'),
0085                             VRDigi = cms.string('VirginRaw')),
0086     ROUList = cms.vstring("TrackerHitsTIBLowTof","TrackerHitsTIBHighTof",
0087                           "TrackerHitsTIDLowTof","TrackerHitsTIDHighTof",
0088                           "TrackerHitsTOBLowTof","TrackerHitsTOBHighTof",
0089                           "TrackerHitsTECLowTof","TrackerHitsTECHighTof"),
0090     GeometryType               = cms.string('idealForDigi'),
0091     TrackerConfigurationFromDB = cms.bool(False),
0092     ZeroSuppression            = cms.bool(True),
0093     LorentzAngle               = cms.string(''),
0094     Gain                       = cms.string(''),
0095     #-----SiStripDigitizerAlgorithm
0096     PreMixingMode              = cms.bool(False),
0097     NoiseSigmaThreshold        = cms.double(2.0),
0098     electronPerAdcDec          = cms.double(247.0), #tuned on collisions at 7 TeV
0099     electronPerAdcPeak         = cms.double(262.0), #tuned on craft08
0100     FedAlgorithm               = cms.int32(4),
0101     FedAlgorithm_PM            = cms.int32(4),  # extra degree of freedom for PreMixing
0102     Noise                      = cms.bool(True), ## NOTE : turning Noise ON/OFF will make a big change
0103     #Parameters valid only if Noise = True and ZeroSuppression = False
0104     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
0105     SingleStripNoise           = cms.bool(True), #The noise RMS is read from the Db. If false it is considered the central strip noise
0106     CommonModeNoise            = cms.bool(True),
0107     BaselineShift              = cms.bool(True),
0108     APVSaturationFromHIP       = cms.bool(False),
0109     APVSaturationProbScaling   = cms.double(1.0),
0110     APVProbabilityFile         = cms.FileInPath("SimTracker/SiStripDigitizer/data/APVProbaList.txt"),
0111     cmnRMStib                  = cms.double(5.92),
0112     cmnRMStob                  = cms.double(1.08),
0113     cmnRMStid                  = cms.double(3.08),
0114     cmnRMStec                  = cms.double(2.44),
0115     PedestalsOffset            = cms.double(128),
0116     #
0117     TOFCutForDeconvolution     = cms.double(50.0),
0118     TOFCutForPeak              = cms.double(100.0),
0119     Inefficiency               = cms.double(0.0),
0120     # APV Dynamic Gain Simulation
0121     includeAPVSimulation       = cms.bool( False ),
0122     apv_maxResponse            = cms.double( 729 ),
0123     apv_rate                   = cms.double( 66.2 ),
0124     apv_mVPerQ                 = cms.double( 5.5 ),
0125     apvfCPerElectron           = cms.double( 1.602e-4 ),
0126     fracOfEventsToSimAPV       = cms.double( 0.0 ), # fraction of events to simulate APV saturation
0127 )
0128 
0129 #################################################
0130 # activate APV simulation for 2016 Strip detector (UL 2016)
0131 # According to this document https://indico.cern.ch/event/560226/contributions/2277448/attachments/1324704/1988050/wgm_vfp_change_ebutz.pdf
0132 # the first LHC fill taken with vfp=0 settings is https://cmswbm.cern.ch/cmsdb/servlet/FillReport?FILL=5198 (run 278801)
0133 # cf Prompt-Reco DQM: https://tinyurl.com/y2gybwx7
0134 # pre-VFP  runs: 273150-278800 lumi: 19480.4566773 /pb
0135 # post-VFP runs: 278801-284044 lumi: 16755.0362868 /pb
0136 # ~53.8% of luminosity is affected by APV saturation
0137 #################################################
0138 
0139 from Configuration.Eras.Modifier_tracker_apv_vfp30_2016_cff import tracker_apv_vfp30_2016
0140 tracker_apv_vfp30_2016.toModify(SiStripSimBlock,
0141                                 includeAPVSimulation = True,
0142                                 fracOfEventsToSimAPV = 1.0
0143                                 )
0144 
0145 from Configuration.ProcessModifiers.premix_stage1_cff import premix_stage1
0146 premix_stage1.toModify(SiStripSimBlock,
0147     Noise = False,
0148     PreMixingMode = True,
0149     FedAlgorithm = 5, # special ZS mode: accept adc>0
0150     includeAPVSimulation = False # APV simulation is off for premix stage1
0151 )
0152 
0153 from Configuration.Eras.Modifier_run2_common_cff import run2_common
0154 run2_common.toModify(SiStripSimBlock,
0155                      CouplingConstantsRunIIDecB = True, #for TIB and TOB
0156                      CouplingConstantsRunIIDecW = True,  #for TID and TEC
0157                      APVShapeDecoFile =cms.FileInPath("SimTracker/SiStripDigitizer/data/APVShapeDeco_320.txt")
0158                      )