1 import FWCore.ParameterSet.Config
as cms
5 from DQM.EcalMonitorTasks.LaserTask_cfi
import ecalLaserTask
9 expectedAmplitude = [1700.0, 1300.0, 1700.0, 1700.0]
10 toleranceAmplitude = 0.1
11 toleranceAmpRMSRatio = 0.3
12 expectedPNAmplitude = [800.0, 800.0, 800.0, 800.0]
14 tolerancePNRMSRatio = 1.
15 expectedTiming = [4.2, 4.2, 4.2, 4.2]
19 ecalLaserClient = cms.untracked.PSet(
20 params = cms.untracked.PSet(
21 forwardFactor = cms.untracked.double(forwardFactor),
22 minChannelEntries = cms.untracked.int32(minChannelEntries),
23 expectedAmplitude = cms.untracked.vdouble(expectedAmplitude),
24 toleranceAmplitude = cms.untracked.double(toleranceAmplitude),
25 toleranceAmpRMSRatio = cms.untracked.double(toleranceAmpRMSRatio),
26 expectedPNAmplitude = cms.untracked.vdouble(expectedPNAmplitude),
27 tolerancePNAmp = cms.untracked.double(tolerancePNAmp),
28 tolerancePNRMSRatio = cms.untracked.double(tolerancePNRMSRatio),
29 expectedTiming = cms.untracked.vdouble(expectedTiming),
30 toleranceTiming = cms.untracked.double(toleranceTiming),
31 toleranceTimRMS = cms.untracked.double(toleranceTimRMS),
32 laserWavelengths = ecaldqmLaserWavelengths
34 sources = cms.untracked.PSet(
35 Timing = ecalLaserTask.MEs.Timing,
36 PNAmplitude = ecalLaserTask.MEs.PNAmplitude,
37 Amplitude = ecalLaserTask.MEs.Amplitude,
38 CalibStatus = ecalLaserTask.MEs.CalibStatus
40 MEs = cms.untracked.PSet(
41 TimingRMS = cms.untracked.PSet(
42 kind = cms.untracked.string(
'TH1F'),
43 multi = cms.untracked.PSet(
44 wl = ecaldqmLaserWavelengths
46 otype = cms.untracked.string(
'SM'),
47 xaxis = cms.untracked.PSet(
48 high = cms.untracked.double(0.5),
49 nbins = cms.untracked.int32(100),
50 low = cms.untracked.double(0.0),
51 title = cms.untracked.string(
'rms (clock)')
53 btype = cms.untracked.string(
'User'),
54 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms L%(wl)s %(sm)s'),
55 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.')
57 TimingMean = cms.untracked.PSet(
58 kind = cms.untracked.string(
'TH1F'),
59 multi = cms.untracked.PSet(
60 wl = ecaldqmLaserWavelengths
62 otype = cms.untracked.string(
'SM'),
63 xaxis = cms.untracked.PSet(
64 high = cms.untracked.double(5.5),
65 nbins = cms.untracked.int32(100),
66 low = cms.untracked.double(3.5),
67 title = cms.untracked.string(
'time (clock)')
69 btype = cms.untracked.string(
'User'),
70 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing mean L%(wl)s %(sm)s'),
71 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.')
73 PNQualitySummary = cms.untracked.PSet(
74 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT PN laser quality summary L%(wl)s'),
75 otype = cms.untracked.string(
'MEM2P'),
76 multi = cms.untracked.PSet(
77 wl = ecaldqmLaserWavelengths
79 kind = cms.untracked.string(
'TH2F'),
80 btype = cms.untracked.string(
'Crystal'),
81 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.'),
83 TimingRMSMap = cms.untracked.PSet(
84 multi = cms.untracked.PSet(
85 wl = ecaldqmLaserWavelengths
87 kind = cms.untracked.string(
'TH2F'),
88 otype = cms.untracked.string(
'Ecal2P'),
89 zaxis = cms.untracked.PSet(
90 title = cms.untracked.string(
'rms (clock)')
92 btype = cms.untracked.string(
'Crystal'),
93 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms map L%(wl)s'),
94 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.')
96 AmplitudeMean = cms.untracked.PSet(
97 kind = cms.untracked.string(
'TH1F'),
98 multi = cms.untracked.PSet(
99 wl = ecaldqmLaserWavelengths
101 otype = cms.untracked.string(
'SM'),
102 xaxis = cms.untracked.PSet(
103 high = cms.untracked.double(4096.0),
104 nbins = cms.untracked.int32(100),
105 low = cms.untracked.double(0.0)
107 btype = cms.untracked.string(
'User'),
108 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude L%(wl)s %(sm)s'),
109 description = cms.untracked.string(
'Distribution of the mean amplitude seen in each crystal. Channels with less than ' + str(minChannelEntries) +
' are not considered.')
111 QualitySummary = cms.untracked.PSet(
112 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT%(suffix)s laser quality summary L%(wl)s'),
113 otype = cms.untracked.string(
'Ecal3P'),
114 multi = cms.untracked.PSet(
115 wl = ecaldqmLaserWavelengths
117 kind = cms.untracked.string(
'TH2F'),
118 btype = cms.untracked.string(
'SuperCrystal'),
119 description = cms.untracked.string(
'Summary of the laser data quality. A channel is red either if mean / expected < ' + str(toleranceAmplitude) +
', 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.'),
121 Quality = cms.untracked.PSet(
122 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser quality L%(wl)s %(sm)s'),
123 otype = cms.untracked.string(
'SM'),
124 multi = cms.untracked.PSet(
125 wl = ecaldqmLaserWavelengths
127 kind = cms.untracked.string(
'TH2F'),
128 btype = cms.untracked.string(
'Crystal'),
129 description = cms.untracked.string(
'Summary of the laser data quality. A channel is red either if mean / expected < ' + str(toleranceAmplitude) +
', 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.'),
131 AmplitudeRMS = cms.untracked.PSet(
132 multi = cms.untracked.PSet(
133 wl = ecaldqmLaserWavelengths
135 kind = cms.untracked.string(
'TH2F'),
136 otype = cms.untracked.string(
'Ecal2P'),
137 zaxis = cms.untracked.PSet(
138 title = cms.untracked.string(
'rms (ADC counts)')
140 btype = cms.untracked.string(
'Crystal'),
141 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude rms L%(wl)s'),
142 description = cms.untracked.string(
'2D distribution of the amplitude RMS. Channels with less than ' + str(minChannelEntries) +
' are not considered.')