Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:15

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 from DQM.EcalCommon.CommonParams_cfi import *
0004 
0005 from DQM.EcalMonitorTasks.LaserTask_cfi import ecalLaserTask
0006 
0007 forwardFactor = 0.5
0008 minChannelEntries = 3
0009 expectedAmplitude = [1700.0, 1300.0, 1700.0, 1700.0]
0010 toleranceAmplitudeLo = 0.1
0011 toleranceAmplitudeFwdLo = 0.01
0012 toleranceAmplitudeHi = 2.06
0013 toleranceAmpRMSRatio = 0.3
0014 expectedPNAmplitude = [800.0, 800.0, 800.0, 800.0]
0015 tolerancePNAmp = 0.1
0016 tolerancePNRMSRatio = 1.
0017 expectedTiming = [4.2, 3.7, 4.2, 4.2]
0018 toleranceTiming = 1.0
0019 toleranceTimRMS = 0.4
0020 
0021 ecalLaserClient = cms.untracked.PSet(
0022     params = cms.untracked.PSet(
0023         forwardFactor = cms.untracked.double(forwardFactor),
0024         minChannelEntries = cms.untracked.int32(minChannelEntries),
0025         expectedAmplitude = cms.untracked.vdouble(expectedAmplitude),
0026         toleranceAmplitudeLo = cms.untracked.double(toleranceAmplitudeLo),
0027     toleranceAmplitudeFwdLo = cms.untracked.double(toleranceAmplitudeFwdLo),
0028         toleranceAmplitudeHi = cms.untracked.double(toleranceAmplitudeHi),
0029         toleranceAmpRMSRatio = cms.untracked.double(toleranceAmpRMSRatio),
0030         expectedPNAmplitude = cms.untracked.vdouble(expectedPNAmplitude),
0031         tolerancePNAmp = cms.untracked.double(tolerancePNAmp),
0032         tolerancePNRMSRatio = cms.untracked.double(tolerancePNRMSRatio),
0033         expectedTiming = cms.untracked.vdouble(expectedTiming),
0034         toleranceTiming = cms.untracked.double(toleranceTiming),    
0035         toleranceTimRMS = cms.untracked.double(toleranceTimRMS),
0036         laserWavelengths = ecaldqmLaserWavelengths
0037     ),
0038     sources = cms.untracked.PSet(
0039         Timing = ecalLaserTask.MEs.Timing,
0040         PNAmplitude = ecalLaserTask.MEs.PNAmplitude,
0041         Amplitude = ecalLaserTask.MEs.Amplitude,
0042         CalibStatus = ecalLaserTask.MEs.CalibStatus
0043     ),
0044     MEs = cms.untracked.PSet(
0045         TimingRMS = cms.untracked.PSet(
0046             kind = cms.untracked.string('TH1F'),
0047             multi = cms.untracked.PSet(
0048                 wl = ecaldqmLaserWavelengths
0049             ),
0050             otype = cms.untracked.string('SM'),
0051             xaxis = cms.untracked.PSet(
0052                 high = cms.untracked.double(0.5),
0053                 nbins = cms.untracked.int32(100),
0054                 low = cms.untracked.double(0.0),
0055                 title = cms.untracked.string('rms (clock)')
0056             ),
0057             btype = cms.untracked.string('User'),
0058             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms L%(wl)s %(sm)s'),
0059             description = cms.untracked.string('Distribution of the timing RMS in each crystal channel. X scale is in LHC clocks. Channels with less than ' + str(minChannelEntries) + ' are not considered.')
0060         ),
0061         TimingMean = cms.untracked.PSet(
0062             kind = cms.untracked.string('TH1F'),
0063             multi = cms.untracked.PSet(
0064                 wl = ecaldqmLaserWavelengths
0065             ),
0066             otype = cms.untracked.string('SM'),
0067             xaxis = cms.untracked.PSet(
0068                 high = cms.untracked.double(5.0),
0069                 nbins = cms.untracked.int32(100),
0070                 low = cms.untracked.double(3.0),
0071                 title = cms.untracked.string('time (clock)')
0072             ),
0073             btype = cms.untracked.string('User'),
0074             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing mean L%(wl)s %(sm)s'),
0075             description = cms.untracked.string('Distribution of the timing in each crystal channel. X scale is in LHC clocks. Channels with less than ' + str(minChannelEntries) + ' are not considered.')
0076         ),
0077         PNQualitySummary = cms.untracked.PSet(
0078             path = cms.untracked.string('%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT PN laser quality summary L%(wl)s'),
0079             otype = cms.untracked.string('MEM2P'),
0080             multi = cms.untracked.PSet(
0081                 wl = ecaldqmLaserWavelengths
0082             ),
0083             kind = cms.untracked.string('TH2F'),
0084             btype = cms.untracked.string('Crystal'),
0085             description = cms.untracked.string('Summary of the laser data quality in the PN diodes. A channel is red if mean / expected < ' + str(tolerancePNAmp) + ' or RMS / expected > ' + str(tolerancePNRMSRatio) + '. Expected amplitudes are ' + ('%.1f, %.1f, %.1f, %.1f' % tuple(expectedPNAmplitude)) + ' for laser 1, 2, 3, and 4 respectively. Channels with less than ' + str(minChannelEntries) + ' are not considered.'),
0086         ),
0087         TimingRMSMap = cms.untracked.PSet(
0088             multi = cms.untracked.PSet(
0089                 wl = ecaldqmLaserWavelengths
0090             ),
0091             kind = cms.untracked.string('TH2F'),
0092             otype = cms.untracked.string('Ecal2P'),
0093             zaxis = cms.untracked.PSet(
0094                 title = cms.untracked.string('rms (clock)')
0095             ),
0096             btype = cms.untracked.string('Crystal'),
0097             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms map L%(wl)s'),
0098             description = cms.untracked.string('2D distribution of the laser timing RMS. Z scale is in LHC clocks. Channels with less than ' + str(minChannelEntries) + ' are not considered.')
0099         ),
0100         AmplitudeMean = cms.untracked.PSet(
0101             kind = cms.untracked.string('TH1F'),
0102             multi = cms.untracked.PSet(
0103                 wl = ecaldqmLaserWavelengths
0104             ),
0105             otype = cms.untracked.string('SM'),
0106             xaxis = cms.untracked.PSet(
0107                 high = cms.untracked.double(4096.0),
0108                 nbins = cms.untracked.int32(100),
0109                 low = cms.untracked.double(0.0)
0110             ),
0111             btype = cms.untracked.string('User'),
0112             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude L%(wl)s %(sm)s'),
0113             description = cms.untracked.string('Distribution of the mean amplitude seen in each crystal. Channels with less than ' + str(minChannelEntries) + ' are not considered.')
0114         ),
0115         QualitySummary = cms.untracked.PSet(
0116             path = cms.untracked.string('%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT%(suffix)s laser quality summary L%(wl)s'),
0117             otype = cms.untracked.string('Ecal3P'),
0118             multi = cms.untracked.PSet(
0119                 wl = ecaldqmLaserWavelengths
0120             ),
0121             kind = cms.untracked.string('TH2F'),
0122             btype = cms.untracked.string('SuperCrystal'),
0123             description = cms.untracked.string('Summary of the laser data quality. A channel is red either if mean / expected < ' + str(toleranceAmplitudeLo) + ', or if mean / expected > ' + str(toleranceAmplitudeHi) + ', or if RMS / expected > ' + str(toleranceAmpRMSRatio) + ', or if mean timing is off from expected by ' + str(toleranceTiming) + '. Expected amplitudes and timings are ' + ('%.1f, %.1f, %.1f, %.1f' % tuple(expectedAmplitude)) + ' and ' + ('%.1f, %.1f, %.1f, %.1f' % tuple(expectedTiming)) + ' for lasers 1, 2, 3, and 4 respectively. Channels with less than ' + str(minChannelEntries) + ' are not considered.'),
0124         ),
0125         Quality = cms.untracked.PSet(
0126             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser quality L%(wl)s %(sm)s'),
0127             otype = cms.untracked.string('SM'),
0128             multi = cms.untracked.PSet(
0129                 wl = ecaldqmLaserWavelengths
0130             ),
0131             kind = cms.untracked.string('TH2F'),
0132             btype = cms.untracked.string('Crystal'),
0133             description = cms.untracked.string('Summary of the laser data quality. A channel is red either if mean / expected < ' + str(toleranceAmplitudeLo) + ', or if mean / expected > ' + str(toleranceAmplitudeHi) + ', or if RMS / expected > ' + str(toleranceAmpRMSRatio) +', or if RMS / expected > ' + str(toleranceAmpRMSRatio) + ', or if mean timing is off from expected by ' + str(toleranceTiming) + '. Expected amplitudes and timings are ' + ('%.1f, %.1f, %.1f, %.1f' % tuple(expectedAmplitude)) + ' and ' + ('%.1f, %.1f, %.1f, %.1f' % tuple(expectedTiming)) + ' for lasers 1, 2, 3, and 4 respectively. Channels with less than ' + str(minChannelEntries) + ' are not considered.'),
0134         ),
0135         AmplitudeRMS = cms.untracked.PSet(
0136             multi = cms.untracked.PSet(
0137                 wl = ecaldqmLaserWavelengths
0138             ),
0139             kind = cms.untracked.string('TH2F'),
0140             otype = cms.untracked.string('Ecal2P'),
0141             zaxis = cms.untracked.PSet(
0142                 title = cms.untracked.string('rms (ADC counts)')
0143             ),
0144             btype = cms.untracked.string('Crystal'),
0145             path = cms.untracked.string('%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude rms L%(wl)s'),
0146             description = cms.untracked.string('2D distribution of the amplitude RMS. Channels with less than ' + str(minChannelEntries) + ' are not considered.')
0147         )
0148     )
0149 )