Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:33

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 # This object modifies hcalSimParameters for different scenarios
0004 
0005 hcalSimParameters = cms.PSet(
0006     #  In HF, the SimHits energy is actually
0007     # the number of photoelectrons from the shower
0008     # library.  However, we need a lot more
0009     # smearing, because the first level of the PMT
0010     # only gives ~6 electrons per pe, which
0011     # comes out to a 40% smearing of the single pe peak!
0012     #
0013     hf1 = cms.PSet(
0014         readoutFrameSize = cms.int32(4),
0015         binOfMaximum = cms.int32(3),
0016         samplingFactor = cms.double(0.383),
0017         doPhotoStatistics = cms.bool(True),
0018         photoelectronsToAnalog = cms.double(2.79),
0019         simHitToPhotoelectrons = cms.double(6.0),
0020         syncPhase = cms.bool(True),
0021         timePhase = cms.double(14.0),
0022         doSiPMSmearing = cms.bool(False),
0023         sipmTau = cms.double(0.),
0024         threshold_currentTDC = cms.double(-999.),
0025         delayQIE = cms.int32(-999),
0026     ),
0027     hf2 = cms.PSet(
0028         readoutFrameSize = cms.int32(4),
0029         binOfMaximum = cms.int32(3),
0030         samplingFactor = cms.double(0.368),
0031         doPhotoStatistics = cms.bool(True),
0032         photoelectronsToAnalog = cms.double(1.843),
0033         simHitToPhotoelectrons = cms.double(6.0),
0034         syncPhase = cms.bool(True),
0035         timePhase = cms.double(13.0),
0036         doSiPMSmearing = cms.bool(False),
0037         sipmTau = cms.double(0.),
0038         threshold_currentTDC = cms.double(-999.),
0039         delayQIE = cms.int32(-999),
0040     ),
0041     ho = cms.PSet(
0042         readoutFrameSize = cms.int32(10),
0043         firstRing = cms.int32(1),
0044         binOfMaximum = cms.int32(5),
0045         doPhotoStatistics = cms.bool(True),
0046         simHitToPhotoelectrons = cms.double(4000.0), # is not actually used
0047         samplingFactors = cms.vdouble(231.0, 231.0, 231.0, 231.0,
0048             360.0, 360.0, 360.0, 360.0, 360.0, 360.0,
0049             360.0, 360.0, 360.0, 360.0, 360.0),
0050         syncPhase = cms.bool(True),
0051         timePhase = cms.double(5.0),
0052         timeSmearing = cms.bool(False),
0053         # 0 is HPD, 1 is SiPM, 2 fetches HPD/Zecotek/Hamamatsu from DB
0054         siPMCode = cms.int32(2),
0055         doSiPMSmearing = cms.bool(False),
0056         sipmTau = cms.double(5.),
0057         threshold_currentTDC = cms.double(-999.),
0058         delayQIE = cms.int32(-999),
0059     ),
0060     hb = cms.PSet(
0061         readoutFrameSize = cms.int32(10),
0062         firstRing = cms.int32(1),
0063         binOfMaximum = cms.int32(5),
0064         doPhotoStatistics = cms.bool(True),
0065         simHitToPhotoelectrons = cms.double(2000.0),
0066         samplingFactors = cms.vdouble(
0067             125.44, 125.54, 125.32, 125.13, 124.46,
0068             125.01, 125.22, 125.48, 124.45, 125.90,
0069             125.83, 127.01, 126.82, 129.73, 131.83,
0070             143.52),            
0071         syncPhase = cms.bool(True),
0072         timePhase = cms.double(6.0),
0073         timeSmearing = cms.bool(True),
0074         doSiPMSmearing = cms.bool(False),
0075         sipmTau = cms.double(0.),
0076         threshold_currentTDC = cms.double(-999.),
0077         delayQIE = cms.int32(-999),
0078     ),
0079     he = cms.PSet(
0080         readoutFrameSize = cms.int32(10),
0081         firstRing = cms.int32(16),
0082         binOfMaximum = cms.int32(5),
0083         doPhotoStatistics = cms.bool(True),
0084         simHitToPhotoelectrons = cms.double(2000.0),
0085         samplingFactors = cms.vdouble(
0086             210.55, 197.93, 186.12, 189.64, 189.63,
0087             190.28, 189.61, 189.60, 190.12, 191.22,
0088             190.90, 193.06, 188.42, 188.42),
0089         syncPhase = cms.bool(True),
0090         timePhase = cms.double(6.0),
0091         timeSmearing = cms.bool(True),
0092         doSiPMSmearing = cms.bool(False),
0093         sipmTau = cms.double(0.),
0094         threshold_currentTDC = cms.double(-999.),
0095         delayQIE = cms.int32(-999),
0096     ),
0097     zdc = cms.PSet(
0098         readoutFrameSize = cms.int32(10),
0099         binOfMaximum = cms.int32(5),
0100         samplingFactor = cms.double(1.000),
0101         doPhotoStatistics = cms.bool(True),
0102         photoelectronsToAnalog = cms.double(1.843),
0103         simHitToPhotoelectrons = cms.double(6.0),
0104         syncPhase = cms.bool(True),
0105         timePhase = cms.double(-4.0),
0106         doSiPMSmearing = cms.bool(False),
0107         sipmTau = cms.double(0.),
0108         threshold_currentTDC = cms.double(-999.),
0109         delayQIE = cms.int32(-999),
0110     ),
0111 )
0112 
0113 hcalSimParameters.hoZecotek = hcalSimParameters.ho.clone()
0114 
0115 hcalSimParameters.hoHamamatsu = hcalSimParameters.ho.clone()
0116 
0117 # Customises the HCAL digitiser for post LS1 running
0118 from Configuration.Eras.Modifier_run2_common_cff import run2_common
0119 from Configuration.ProcessModifiers.applyHFLibraryFix_cff import applyHFLibraryFix
0120 
0121 run2_common.toModify( hcalSimParameters, 
0122     ho = dict( siPMCode = 1 ),
0123 #--- Default for Run2 HFShowerLibrary file
0124     hf1 = dict( samplingFactor = 0.335 ),
0125     hf2 = dict( samplingFactor = 0.335 )
0126 )
0127 #--- Alternative: usage of Run3 HFShowerLibrary file for Run2
0128 (applyHFLibraryFix & run2_common).toModify( hcalSimParameters, 
0129     hf1 = dict( samplingFactor = 0.37,
0130                 timePhase = 9.0
0131               ),
0132     hf2 = dict( samplingFactor = 0.37,
0133                 timePhase = 8.0
0134               )
0135 )
0136    
0137 from Configuration.Eras.Modifier_run2_HE_2017_cff import run2_HE_2017
0138 run2_HE_2017.toModify( hcalSimParameters,
0139     he = dict(
0140         doSiPMSmearing = cms.bool(True),
0141         sipmTau = cms.double(10.),
0142     )
0143 )
0144 
0145 from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017
0146 run2_HF_2017.toModify( hcalSimParameters,
0147     hf1 = dict(
0148                readoutFrameSize = cms.int32(3), 
0149                binOfMaximum     = cms.int32(2),
0150                threshold_currentTDC = cms.double(3.),
0151               ),
0152     hf2 = dict(
0153                readoutFrameSize = cms.int32(3), 
0154                binOfMaximum     = cms.int32(2),
0155                threshold_currentTDC = cms.double(3.),
0156               )
0157 )
0158 
0159 from Configuration.Eras.Modifier_run2_HB_2018_cff import run2_HB_2018
0160 run2_HB_2018.toModify( hcalSimParameters,
0161     hb = dict(
0162                readoutFrameSize = cms.int32(8), 
0163                binOfMaximum     = cms.int32(4)
0164               )
0165 )
0166 from Configuration.Eras.Modifier_run2_HE_2018_cff import run2_HE_2018
0167 run2_HE_2018.toModify( hcalSimParameters,
0168     he = dict(
0169                readoutFrameSize = cms.int32(8), 
0170                binOfMaximum     = cms.int32(4),
0171                threshold_currentTDC = cms.double(18.7)
0172               )
0173 )
0174 
0175 
0176 from Configuration.Eras.Modifier_run3_HB_cff import run3_HB
0177 run3_HB.toModify( hcalSimParameters,
0178     hb = dict(
0179         doSiPMSmearing = cms.bool(True),
0180         threshold_currentTDC = cms.double(18.7),
0181         sipmTau = cms.double(10.),
0182     )
0183 )
0184 
0185 from Configuration.Eras.Modifier_run3_common_cff import run3_common
0186 run3_common.toModify( hcalSimParameters, 
0187     hb = dict(
0188                readoutFrameSize = cms.int32(10), 
0189                binOfMaximum     = cms.int32(6)
0190               ),
0191     he = dict(
0192                readoutFrameSize = cms.int32(10), 
0193                binOfMaximum     = cms.int32(6)
0194               ),
0195     hf1 = dict( samplingFactor = 0.37,
0196                 timePhase = 9.0 
0197                ),
0198     hf2 = dict( samplingFactor = 0.37,
0199                 timePhase = 8.0
0200                )
0201 ) 
0202 
0203 
0204 _newFactors = cms.vdouble(
0205     210.55, 197.93, 186.12, 189.64, 189.63,
0206     189.96, 190.03, 190.11, 190.18, 190.25,
0207     190.32, 190.40, 190.47, 190.54, 190.61,
0208     190.69, 190.83, 190.94, 190.94, 190.94,
0209     190.94, 190.94, 190.94, 190.94, 190.94,
0210     190.94, 190.94, 190.94, 190.94, 190.94,
0211     190.94, 190.94, 190.94, 190.94, 190.94,
0212     190.94, 190.94, 190.94, 190.94, 190.94,
0213     190.94, 190.94, 190.94, 190.94, 190.94,
0214     190.94, 190.94, 190.94, 190.94, 190.94,
0215     190.94, 190.94, 190.94, 190.94, 190.94,
0216     190.94, 190.94, 190.94, 190.94, 190.94,
0217     190.94, 190.94, 190.94, 190.94, 190.94,
0218     190.94, 190.94, 190.94, 190.94, 190.94,
0219     190.94, 190.94, 190.94, 190.94, 190.94,
0220     190.94, 190.94, 190.94, 190.94, 190.94,
0221     190.94, 190.94, 190.94, 190.94, 190.94 )
0222 
0223 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
0224 phase2_hcal.toModify( hcalSimParameters,
0225     he = dict(
0226         samplingFactors = _newFactors,
0227     )
0228 )