Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:47:15

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 ## Time Slew Parameters
0004 from CalibCalorimetry.HcalPlugins.HcalTimeSlew_cff import *
0005 
0006 ## Recalibration Parameters
0007 from DataFormats.HcalCalibObjects.HFRecalibrationParameters_cff import *
0008 
0009 hcal_db_producer = cms.ESProducer("HcalDbProducer",
0010     dump = cms.untracked.vstring(''),
0011     file = cms.untracked.string('')
0012 )
0013 
0014 #------------------------- HARDCODED conditions
0015 
0016 es_hardcode = cms.ESSource("HcalHardcodeCalibrations",
0017     toGet = cms.untracked.vstring('GainWidths'),
0018     iLumi = cms.double(-1.),                      # for Upgrade: fb-1
0019     HBRecalibration = cms.bool(False),            # True for Upgrade
0020     HBreCalibCutoff = cms.double(20.),            # if above is True
0021     HBmeanenergies = cms.FileInPath("CalibCalorimetry/HcalPlugins/data/meanenergiesHB.txt"),
0022     HERecalibration = cms.bool(False),            # True for Upgrade
0023     HEreCalibCutoff = cms.double(20.),            # if above is True
0024     HEmeanenergies = cms.FileInPath("CalibCalorimetry/HcalPlugins/data/meanenergiesHE.txt"),
0025     HFRecalibration = cms.bool(False),            # True for Upgrade
0026     HFRecalParameterBlock = HFRecalParameterBlock,
0027     GainWidthsForTrigPrims = cms.bool(False),     # True Upgrade
0028     useHBUpgrade = cms.bool(False),
0029     useHEUpgrade = cms.bool(False),
0030     useHFUpgrade = cms.bool(False),
0031     useHOUpgrade = cms.bool(True),
0032     testHFQIE10  = cms.bool(False),
0033     testHEPlan1  = cms.bool(False),
0034     killHE = cms.bool(False),
0035     useLayer0Weight = cms.bool(False),
0036     useIeta18depth1 = cms.bool(True),
0037     hb = cms.PSet(
0038         pedestal      = cms.double(3.285),
0039         pedestalWidth = cms.double(0.809),
0040         gain          = cms.vdouble(0.19),
0041         gainWidth     = cms.vdouble(0.0),
0042         zsThreshold   = cms.int32(8),
0043         qieType       = cms.int32(0),
0044         qieOffset     = cms.vdouble(-0.49,1.8,7.2,37.9),
0045         qieSlope      = cms.vdouble(0.912,0.917,0.922,0.923),
0046         mcShape       = cms.int32(125),
0047         recoShape     = cms.int32(105),
0048         photoelectronsToAnalog = cms.double(0.3305),
0049         darkCurrent   = cms.vdouble(0.0),
0050         noiseCorrelation  = cms.vdouble(0.0),
0051         doRadiationDamage = cms.bool(False)
0052     ),
0053     he = cms.PSet(
0054         pedestal      = cms.double(3.163),
0055         pedestalWidth = cms.double(0.9698),
0056         gain          = cms.vdouble(0.23),
0057         gainWidth     = cms.vdouble(0),
0058         zsThreshold   = cms.int32(9),
0059         qieType       = cms.int32(0),
0060         qieOffset     = cms.vdouble(-0.38,2.0,7.6,39.6),
0061         qieSlope      = cms.vdouble(0.912,0.916,0.920,0.922),
0062         mcShape       = cms.int32(125),
0063         recoShape     = cms.int32(105),
0064         photoelectronsToAnalog = cms.double(0.3305),
0065         darkCurrent   = cms.vdouble(0.0),
0066         noiseCorrelation  = cms.vdouble(0.0),
0067         doRadiationDamage = cms.bool(False)
0068     ),
0069     hf = cms.PSet(
0070         pedestal      = cms.double(9.354),
0071         pedestalWidth = cms.double(2.516),
0072         gain          = cms.vdouble(0.14,0.135),
0073         gainWidth     = cms.vdouble(0.0,0.0),
0074         zsThreshold   = cms.int32(-9999),
0075         qieType       = cms.int32(0),
0076         qieOffset     = cms.vdouble(-0.87,1.4,7.8,-29.6),
0077         qieSlope      = cms.vdouble(0.359,0.358,0.360,0.367),
0078         mcShape       = cms.int32(301),
0079         recoShape     = cms.int32(301),
0080         photoelectronsToAnalog = cms.double(0.0),
0081         darkCurrent   = cms.vdouble(0.0),
0082         noiseCorrelation  = cms.vdouble(0.0),
0083         doRadiationDamage = cms.bool(False)
0084     ),
0085     ho = cms.PSet(
0086         pedestal      = cms.double(12.06),
0087         pedestalWidth = cms.double(0.6285),
0088         gain          = cms.vdouble(0.0060,0.0087),
0089         gainWidth     = cms.vdouble(0.0,0.0),
0090         zsThreshold   = cms.int32(24),
0091         qieType       = cms.int32(0),
0092         qieOffset     = cms.vdouble(-0.44,1.4,7.1,38.5),
0093         qieSlope      = cms.vdouble(0.907,0.915,0.920,0.921),
0094         mcShape       = cms.int32(201),
0095         recoShape     = cms.int32(201),
0096         photoelectronsToAnalog = cms.double(4.0),
0097         darkCurrent   = cms.vdouble(0.0),
0098         noiseCorrelation  = cms.vdouble(0.0),
0099         doRadiationDamage = cms.bool(False)
0100     ),
0101     hbUpgrade = cms.PSet(
0102         pedestal      = cms.double(17.3),
0103         pedestalWidth = cms.double(1.5),
0104         gain          = cms.vdouble(0.0006252), # average from 2017 HEP17: ~40 is pe/GeV and 40.0 is fC/pe.
0105         gainWidth     = cms.vdouble(0),
0106         zsThreshold   = cms.int32(16),
0107         qieType       = cms.int32(2),
0108         qieOffset     = cms.vdouble(0.,0.,0.,0.),
0109         qieSlope      = cms.vdouble(0.05376,0.05376,0.05376,0.05376), #1/(3.1*6) where 6 is shunt factor
0110         mcShape       = cms.int32(206),
0111         recoShape     = cms.int32(208),
0112         photoelectronsToAnalog = cms.double(40.0),
0113         darkCurrent   = cms.vdouble(0.01,0.015),
0114         noiseCorrelation  = cms.vdouble(0.26,0.254),
0115         doRadiationDamage = cms.bool(True),
0116         radiationDamage = cms.PSet(
0117             temperatureBase = cms.double(20),
0118             temperatureNew = cms.double(-5),
0119             intlumiOffset = cms.double(150),
0120             depVsTemp = cms.double(0.0631),
0121             intlumiToNeutrons = cms.double(3.67e8),
0122             # slopes taken from https://twiki.cern.ch/twiki/pub/CMSPublic/HcalDPGResultsCMSDPS2017042/dark_current_vs_lumi.png
0123             # crosstalk divided out
0124             # heUpgrade intlumiToNeutrons factor (below) used to convert from /fb-1 to /neutrons 
0125             depVsNeutrons = cms.vdouble(5.543e-10,8.012e-10),
0126         ),
0127     ),
0128     heUpgrade = cms.PSet(
0129         pedestal      = cms.double(17.3),
0130         pedestalWidth = cms.double(1.5),
0131         gain          = cms.vdouble(0.0006252), # average from 2017 HEP17: ~40 is pe/GeV and 40.0 is fC/pe.
0132         gainWidth     = cms.vdouble(0),
0133         zsThreshold   = cms.int32(16),
0134         qieType       = cms.int32(2),
0135         qieOffset     = cms.vdouble(0.,0.,0.,0.),
0136         qieSlope      = cms.vdouble(0.05376,0.05376,0.05376,0.05376), #1/(3.1*6) where 6 is shunt factor
0137         mcShape       = cms.int32(206),
0138         recoShape     = cms.int32(208),
0139         photoelectronsToAnalog = cms.double(40.0),
0140         darkCurrent   = cms.vdouble(0.01,0.015),
0141         noiseCorrelation  = cms.vdouble(0.26,0.254),
0142         doRadiationDamage = cms.bool(True),
0143         radiationDamage = cms.PSet(
0144             temperatureBase = cms.double(20),
0145             temperatureNew = cms.double(5),
0146             intlumiOffset = cms.double(75),
0147             depVsTemp = cms.double(0.0631),
0148             intlumiToNeutrons = cms.double(2.92e7),
0149             # slopes taken from https://twiki.cern.ch/twiki/pub/CMSPublic/HcalDPGResultsCMSDPS2017042/dark_current_vs_lumi.png
0150             # crosstalk divided out
0151             # above factor used to convert from /fb-1 to /neutrons 
0152             depVsNeutrons = cms.vdouble(5.543e-10,8.012e-10),
0153         ),
0154     ),
0155     hfUpgrade = cms.PSet(
0156         pedestal      = cms.double(13.33),
0157         pedestalWidth = cms.double(3.33),
0158         gain          = cms.vdouble(0.14,0.135),
0159         gainWidth     = cms.vdouble(0.0,0.0),
0160         zsThreshold   = cms.int32(-9999),
0161         qieType       = cms.int32(1),
0162         qieOffset     = cms.vdouble(0.0697,-0.7405,12.38,-671.9),
0163         qieSlope      = cms.vdouble(0.297,0.298,0.298,0.313),
0164         mcShape       = cms.int32(301),
0165         recoShape     = cms.int32(301),
0166         photoelectronsToAnalog = cms.double(0.0),
0167         darkCurrent   = cms.vdouble(0.0),
0168         noiseCorrelation  = cms.vdouble(0.0),
0169         doRadiationDamage = cms.bool(False)
0170     ),
0171     # types (in order): HcalHOZecotek, HcalHOHamamatsu, HcalHEHamamatsu1, HcalHEHamamatsu2, HcalHBHamamatsu1, HcalHBHamamatsu2, HcalHPD
0172     SiPMCharacteristics = cms.VPSet(
0173         cms.PSet( pixels = cms.int32(36000), crosstalk = cms.double(0.0), nonlin1 = cms.double(1.0), nonlin2 = cms.double(0.0), nonlin3 = cms.double(0.0) ),
0174         cms.PSet( pixels = cms.int32(2500), crosstalk = cms.double(0.0), nonlin1 = cms.double(1.0), nonlin2 = cms.double(0.0), nonlin3 = cms.double(0.0) ),
0175         cms.PSet( pixels = cms.int32(27370), crosstalk = cms.double(0.17), nonlin1 = cms.double(1.00985), nonlin2 = cms.double(7.84089E-6), nonlin3 = cms.double(2.86282E-10) ),
0176         cms.PSet( pixels = cms.int32(38018), crosstalk = cms.double(0.196), nonlin1 = cms.double(1.00546), nonlin2 = cms.double(6.40239E-6), nonlin3 = cms.double(1.27011E-10) ),
0177         cms.PSet( pixels = cms.int32(27370), crosstalk = cms.double(0.17), nonlin1 = cms.double(1.00985), nonlin2 = cms.double(7.84089E-6), nonlin3 = cms.double(2.86282E-10) ),
0178         cms.PSet( pixels = cms.int32(38018), crosstalk = cms.double(0.196), nonlin1 = cms.double(1.00546), nonlin2 = cms.double(6.40239E-6), nonlin3 = cms.double(1.27011E-10) ),
0179         cms.PSet( pixels = cms.int32(0), crosstalk = cms.double(0.0), nonlin1 = cms.double(1.0), nonlin2 = cms.double(0.0), nonlin3 = cms.double(0.0) ),
0180     ),
0181 )
0182 
0183 es_prefer_hcalHardcode = cms.ESPrefer("HcalHardcodeCalibrations", "es_hardcode")
0184 
0185 _toGet = [
0186     'GainWidths',
0187     'MCParams',
0188     'RecoParams',
0189     'RespCorrs',
0190     'QIEData',
0191     'QIETypes',
0192     'Gains',
0193     'Pedestals',
0194     'PedestalWidths',
0195     'EffectivePedestals',
0196     'EffectivePedestalWidths',
0197     'ChannelQuality',
0198     'ZSThresholds',
0199     'TimeCorrs',
0200     'LUTCorrs',
0201     'LutMetadata',
0202     'L1TriggerObjects',
0203     'PFCorrs',
0204     'ElectronicsMap',
0205     'FrontEndMap',
0206     'CovarianceMatrices',
0207     'SiPMParameters',
0208     'SiPMCharacteristics',
0209     'TPChannelParameters',
0210     'TPParameters',
0211     'FlagHFDigiTimeParams'
0212 ]
0213 
0214 _toGet_noEmap = _toGet[:]
0215 _toGet_noEmap.remove('ElectronicsMap')
0216 
0217 
0218 from Configuration.Eras.Modifier_hcalHardcodeConditions_cff import hcalHardcodeConditions
0219 hcalHardcodeConditions.toModify( es_hardcode,
0220     toGet = cms.untracked.vstring(_toGet),
0221     GainWidthsForTrigPrims = cms.bool(True) 
0222 )
0223 
0224 from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017
0225 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
0226 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017
0227 from Configuration.Eras.Modifier_run2_HEPlan1_2017_cff import run2_HEPlan1_2017
0228 from Configuration.Eras.Modifier_run2_HCAL_2018_cff import run2_HCAL_2018
0229 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
0230 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
0231 from Configuration.Eras.Modifier_phase2_hgcal_cff import phase2_hgcal
0232 
0233 run2_HCAL_2017.toModify( es_hardcode, useLayer0Weight = cms.bool(True), useIeta18depth1 = cms.bool(False) )
0234 run2_HF_2017.toModify( es_hardcode, useHFUpgrade = cms.bool(True) )
0235 run2_HE_2017.toModify( es_hardcode, useHEUpgrade = cms.bool(True), HEreCalibCutoff = cms.double(100.0) )
0236 run2_HEPlan1_2017.toModify( es_hardcode, testHEPlan1 = cms.bool(True), useHEUpgrade = cms.bool(False), HEreCalibCutoff = cms.double(20.0) )
0237 
0238 run2_HCAL_2018.toModify( es_hardcode, useLayer0Weight = cms.bool(True), useIeta18depth1 = cms.bool(False) )
0239 run3_HB.toModify( es_hardcode, useHBUpgrade = cms.bool(True), HBreCalibCutoff = cms.double(100.0) )
0240 
0241 phase2_hcal.toModify( es_hardcode, toGet = cms.untracked.vstring(_toGet_noEmap)) 
0242 phase2_hgcal.toModify( es_hardcode, killHE = cms.bool(True) )