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 toleranceAmplitudeLo = 0.1
11 toleranceAmplitudeFwdLo = 0.01
12 toleranceAmplitudeHi = 2.06
13 toleranceAmpRMSRatio = 0.3
14 expectedPNAmplitude = [800.0, 800.0, 800.0, 800.0]
16 tolerancePNRMSRatio = 1.
17 expectedTiming = [4.2, 3.7, 4.2, 4.2]
21 ecalLaserClient = cms.untracked.PSet(
22 params = cms.untracked.PSet(
23 forwardFactor = cms.untracked.double(forwardFactor),
24 minChannelEntries = cms.untracked.int32(minChannelEntries),
25 expectedAmplitude = cms.untracked.vdouble(expectedAmplitude),
26 toleranceAmplitudeLo = cms.untracked.double(toleranceAmplitudeLo),
27 toleranceAmplitudeFwdLo = cms.untracked.double(toleranceAmplitudeFwdLo),
28 toleranceAmplitudeHi = cms.untracked.double(toleranceAmplitudeHi),
29 toleranceAmpRMSRatio = cms.untracked.double(toleranceAmpRMSRatio),
30 expectedPNAmplitude = cms.untracked.vdouble(expectedPNAmplitude),
31 tolerancePNAmp = cms.untracked.double(tolerancePNAmp),
32 tolerancePNRMSRatio = cms.untracked.double(tolerancePNRMSRatio),
33 expectedTiming = cms.untracked.vdouble(expectedTiming),
34 toleranceTiming = cms.untracked.double(toleranceTiming),
35 toleranceTimRMS = cms.untracked.double(toleranceTimRMS),
36 laserWavelengths = ecaldqmLaserWavelengths
38 sources = cms.untracked.PSet(
39 Timing = ecalLaserTask.MEs.Timing,
40 PNAmplitude = ecalLaserTask.MEs.PNAmplitude,
41 Amplitude = ecalLaserTask.MEs.Amplitude,
42 CalibStatus = ecalLaserTask.MEs.CalibStatus
44 MEs = cms.untracked.PSet(
45 TimingRMS = cms.untracked.PSet(
46 kind = cms.untracked.string(
'TH1F'),
47 multi = cms.untracked.PSet(
48 wl = ecaldqmLaserWavelengths
50 otype = cms.untracked.string(
'SM'),
51 xaxis = cms.untracked.PSet(
52 high = cms.untracked.double(0.5),
53 nbins = cms.untracked.int32(100),
54 low = cms.untracked.double(0.0),
55 title = cms.untracked.string(
'rms (clock)')
57 btype = cms.untracked.string(
'User'),
58 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms L%(wl)s %(sm)s'),
59 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.')
61 TimingMean = cms.untracked.PSet(
62 kind = cms.untracked.string(
'TH1F'),
63 multi = cms.untracked.PSet(
64 wl = ecaldqmLaserWavelengths
66 otype = cms.untracked.string(
'SM'),
67 xaxis = cms.untracked.PSet(
68 high = cms.untracked.double(5.0),
69 nbins = cms.untracked.int32(100),
70 low = cms.untracked.double(3.0),
71 title = cms.untracked.string(
'time (clock)')
73 btype = cms.untracked.string(
'User'),
74 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing mean L%(wl)s %(sm)s'),
75 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.')
77 PNQualitySummary = cms.untracked.PSet(
78 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT PN laser quality summary L%(wl)s'),
79 otype = cms.untracked.string(
'MEM2P'),
80 multi = cms.untracked.PSet(
81 wl = ecaldqmLaserWavelengths
83 kind = cms.untracked.string(
'TH2F'),
84 btype = cms.untracked.string(
'Crystal'),
85 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.'),
87 TimingRMSMap = cms.untracked.PSet(
88 multi = cms.untracked.PSet(
89 wl = ecaldqmLaserWavelengths
91 kind = cms.untracked.string(
'TH2F'),
92 otype = cms.untracked.string(
'Ecal2P'),
93 zaxis = cms.untracked.PSet(
94 title = cms.untracked.string(
'rms (clock)')
96 btype = cms.untracked.string(
'Crystal'),
97 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser timing rms map L%(wl)s'),
98 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.')
100 AmplitudeMean = cms.untracked.PSet(
101 kind = cms.untracked.string(
'TH1F'),
102 multi = cms.untracked.PSet(
103 wl = ecaldqmLaserWavelengths
105 otype = cms.untracked.string(
'SM'),
106 xaxis = cms.untracked.PSet(
107 high = cms.untracked.double(4096.0),
108 nbins = cms.untracked.int32(100),
109 low = cms.untracked.double(0.0)
111 btype = cms.untracked.string(
'User'),
112 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude L%(wl)s %(sm)s'),
113 description = cms.untracked.string(
'Distribution of the mean amplitude seen in each crystal. Channels with less than ' +
str(minChannelEntries) +
' are not considered.')
115 QualitySummary = cms.untracked.PSet(
116 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sLT%(suffix)s laser quality summary L%(wl)s'),
117 otype = cms.untracked.string(
'Ecal3P'),
118 multi = cms.untracked.PSet(
119 wl = ecaldqmLaserWavelengths
121 kind = cms.untracked.string(
'TH2F'),
122 btype = cms.untracked.string(
'SuperCrystal'),
123 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.'),
125 Quality = cms.untracked.PSet(
126 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT laser quality L%(wl)s %(sm)s'),
127 otype = cms.untracked.string(
'SM'),
128 multi = cms.untracked.PSet(
129 wl = ecaldqmLaserWavelengths
131 kind = cms.untracked.string(
'TH2F'),
132 btype = cms.untracked.string(
'Crystal'),
133 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.'),
135 AmplitudeRMS = cms.untracked.PSet(
136 multi = cms.untracked.PSet(
137 wl = ecaldqmLaserWavelengths
139 kind = cms.untracked.string(
'TH2F'),
140 otype = cms.untracked.string(
'Ecal2P'),
141 zaxis = cms.untracked.PSet(
142 title = cms.untracked.string(
'rms (ADC counts)')
144 btype = cms.untracked.string(
'Crystal'),
145 path = cms.untracked.string(
'%(subdet)s/%(prefix)sLaserClient/%(prefix)sLT amplitude rms L%(wl)s'),
146 description = cms.untracked.string(
'2D distribution of the amplitude RMS. Channels with less than ' +
str(minChannelEntries) +
' are not considered.')