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 toleranceAmplitude = 0.1
11 toleranceAmpRMSRatio = 0.3
12 expectedPNAmplitude = [800.0, 800.0, 800.0, 800.0]
13 tolerancePNAmp = 0.1
14 tolerancePNRMSRatio = 1.
15 expectedTiming = [4.2, 4.2, 4.2, 4.2]
16 toleranceTiming = 0.5
17 toleranceTimRMS = 0.4
18 
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
33  ),
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
39  ),
40  MEs = cms.untracked.PSet(
41  TimingRMS = cms.untracked.PSet(
42  kind = cms.untracked.string('TH1F'),
43  multi = cms.untracked.PSet(
44  wl = ecaldqmLaserWavelengths
45  ),
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)')
52  ),
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.')
56  ),
57  TimingMean = cms.untracked.PSet(
58  kind = cms.untracked.string('TH1F'),
59  multi = cms.untracked.PSet(
60  wl = ecaldqmLaserWavelengths
61  ),
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)')
68  ),
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.')
72  ),
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
78  ),
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.'),
82  ),
83  TimingRMSMap = cms.untracked.PSet(
84  multi = cms.untracked.PSet(
85  wl = ecaldqmLaserWavelengths
86  ),
87  kind = cms.untracked.string('TH2F'),
88  otype = cms.untracked.string('Ecal2P'),
89  zaxis = cms.untracked.PSet(
90  title = cms.untracked.string('rms (clock)')
91  ),
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.')
95  ),
96  AmplitudeMean = cms.untracked.PSet(
97  kind = cms.untracked.string('TH1F'),
98  multi = cms.untracked.PSet(
99  wl = ecaldqmLaserWavelengths
100  ),
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)
106  ),
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.')
110  ),
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
116  ),
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.'),
120  ),
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
126  ),
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.'),
130  ),
131  AmplitudeRMS = cms.untracked.PSet(
132  multi = cms.untracked.PSet(
133  wl = ecaldqmLaserWavelengths
134  ),
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)')
139  ),
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.')
143  )
144  )
145 )