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 )