CMS 3D CMS Logo

LaserClient_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
4 
5 from DQM.EcalMonitorTasks.LaserTask_cfi import ecalLaserTask
6 
7 forwardFactor = 0.5
8 minChannelEntries = 3
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]
15 tolerancePNAmp = 0.1
16 tolerancePNRMSRatio = 1.
17 expectedTiming = [4.2, 3.7, 4.2, 4.2]
18 toleranceTiming = 1.0
19 toleranceTimRMS = 0.4
20 
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
37  ),
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
43  ),
44  MEs = cms.untracked.PSet(
45  TimingRMS = cms.untracked.PSet(
46  kind = cms.untracked.string('TH1F'),
47  multi = cms.untracked.PSet(
48  wl = ecaldqmLaserWavelengths
49  ),
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)')
56  ),
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.')
60  ),
61  TimingMean = cms.untracked.PSet(
62  kind = cms.untracked.string('TH1F'),
63  multi = cms.untracked.PSet(
64  wl = ecaldqmLaserWavelengths
65  ),
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)')
72  ),
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.')
76  ),
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
82  ),
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.'),
86  ),
87  TimingRMSMap = cms.untracked.PSet(
88  multi = cms.untracked.PSet(
89  wl = ecaldqmLaserWavelengths
90  ),
91  kind = cms.untracked.string('TH2F'),
92  otype = cms.untracked.string('Ecal2P'),
93  zaxis = cms.untracked.PSet(
94  title = cms.untracked.string('rms (clock)')
95  ),
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.')
99  ),
100  AmplitudeMean = cms.untracked.PSet(
101  kind = cms.untracked.string('TH1F'),
102  multi = cms.untracked.PSet(
103  wl = ecaldqmLaserWavelengths
104  ),
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)
110  ),
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.')
114  ),
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
120  ),
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.'),
124  ),
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
130  ),
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.'),
134  ),
135  AmplitudeRMS = cms.untracked.PSet(
136  multi = cms.untracked.PSet(
137  wl = ecaldqmLaserWavelengths
138  ),
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)')
143  ),
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.')
147  )
148  )
149 )
#define str(s)