test
CMS 3D CMS Logo

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