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
39 MEs = cms.untracked.PSet(
40 TimingRMS = cms.untracked.PSet(
41 kind = cms.untracked.string(
'TH1F'),
42 multi = cms.untracked.PSet(
43 wl = ecaldqmLaserWavelengths
45 otype = cms.untracked.string(
'SM'),
46 xaxis = cms.untracked.PSet(
47 high = cms.untracked.double(0.5),
48 nbins = cms.untracked.int32(100),
49 low = cms.untracked.double(0.0),
50 title = cms.untracked.string(
'rms (clock)')
52 btype = cms.untracked.string(
'User'),
53 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms L%(wl)s %(sm)s'),
54 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.')
56 TimingMean = cms.untracked.PSet(
57 kind = cms.untracked.string(
'TH1F'),
58 multi = cms.untracked.PSet(
59 wl = ecaldqmLaserWavelengths
61 otype = cms.untracked.string(
'SM'),
62 xaxis = cms.untracked.PSet(
63 high = cms.untracked.double(5.5),
64 nbins = cms.untracked.int32(100),
65 low = cms.untracked.double(3.5),
66 title = cms.untracked.string(
'time (clock)')
68 btype = cms.untracked.string(
'User'),
69 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing mean L%(wl)s %(sm)s'),
70 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.')
72 PNQualitySummary = cms.untracked.PSet(
73 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT PN laser quality summary L%(wl)s'),
74 otype = cms.untracked.string(
'MEM2P'),
75 multi = cms.untracked.PSet(
76 wl = ecaldqmLaserWavelengths
78 kind = cms.untracked.string(
'TH2F'),
79 btype = cms.untracked.string(
'Crystal'),
80 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.'),
82 TimingRMSMap = cms.untracked.PSet(
83 multi = cms.untracked.PSet(
84 wl = ecaldqmLaserWavelengths
86 kind = cms.untracked.string(
'TH2F'),
87 otype = cms.untracked.string(
'Ecal2P'),
88 zaxis = cms.untracked.PSet(
89 title = cms.untracked.string(
'rms (clock)')
91 btype = cms.untracked.string(
'Crystal'),
92 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms map L%(wl)s'),
93 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.')
95 AmplitudeMean = cms.untracked.PSet(
96 kind = cms.untracked.string(
'TH1F'),
97 multi = cms.untracked.PSet(
98 wl = ecaldqmLaserWavelengths
100 otype = cms.untracked.string(
'SM'),
101 xaxis = cms.untracked.PSet(
102 high = cms.untracked.double(4096.0),
103 nbins = cms.untracked.int32(100),
104 low = cms.untracked.double(0.0)
106 btype = cms.untracked.string(
'User'),
107 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude L%(wl)s %(sm)s'),
108 description = cms.untracked.string(
'Distribution of the mean amplitude seen in each crystal. Channels with less than ' + str(minChannelEntries) +
' are not considered.')
110 QualitySummary = cms.untracked.PSet(
111 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT%(suffix)s laser quality summary L%(wl)s'),
112 otype = cms.untracked.string(
'Ecal3P'),
113 multi = cms.untracked.PSet(
114 wl = ecaldqmLaserWavelengths
116 kind = cms.untracked.string(
'TH2F'),
117 btype = cms.untracked.string(
'SuperCrystal'),
118 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.'),
120 Quality = cms.untracked.PSet(
121 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser quality L%(wl)s %(sm)s'),
122 otype = cms.untracked.string(
'SM'),
123 multi = cms.untracked.PSet(
124 wl = ecaldqmLaserWavelengths
126 kind = cms.untracked.string(
'TH2F'),
127 btype = cms.untracked.string(
'Crystal'),
128 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.'),
130 AmplitudeRMS = cms.untracked.PSet(
131 multi = cms.untracked.PSet(
132 wl = ecaldqmLaserWavelengths
134 kind = cms.untracked.string(
'TH2F'),
135 otype = cms.untracked.string(
'Ecal2P'),
136 zaxis = cms.untracked.PSet(
137 title = cms.untracked.string(
'rms (ADC counts)')
139 btype = cms.untracked.string(
'Crystal'),
140 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude rms L%(wl)s'),
141 description = cms.untracked.string(
'2D distribution of the amplitude RMS. Channels with less than ' + str(minChannelEntries) +
' are not considered.')