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  ),
39  MEs = cms.untracked.PSet(
40  TimingRMS = cms.untracked.PSet(
41  kind = cms.untracked.string('TH1F'),
42  multi = cms.untracked.PSet(
43  wl = ecaldqmLaserWavelengths
44  ),
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)')
51  ),
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.')
55  ),
56  TimingMean = cms.untracked.PSet(
57  kind = cms.untracked.string('TH1F'),
58  multi = cms.untracked.PSet(
59  wl = ecaldqmLaserWavelengths
60  ),
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)')
67  ),
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.')
71  ),
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
77  ),
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.'),
81  ),
82  TimingRMSMap = cms.untracked.PSet(
83  multi = cms.untracked.PSet(
84  wl = ecaldqmLaserWavelengths
85  ),
86  kind = cms.untracked.string('TH2F'),
87  otype = cms.untracked.string('Ecal2P'),
88  zaxis = cms.untracked.PSet(
89  title = cms.untracked.string('rms (clock)')
90  ),
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.')
94  ),
95  AmplitudeMean = cms.untracked.PSet(
96  kind = cms.untracked.string('TH1F'),
97  multi = cms.untracked.PSet(
98  wl = ecaldqmLaserWavelengths
99  ),
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)
105  ),
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.')
109  ),
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
115  ),
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.'),
119  ),
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
125  ),
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.'),
129  ),
130  AmplitudeRMS = cms.untracked.PSet(
131  multi = cms.untracked.PSet(
132  wl = ecaldqmLaserWavelengths
133  ),
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)')
138  ),
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.')
142  )
143  )
144 )