1 import FWCore.ParameterSet.Config
as cms
3 from DQM.EcalMonitorTasks.TimingTask_cfi
import ecalTimingTask
4 from DQM.EcalMonitorClient.IntegrityClient_cfi
import ecalIntegrityClient
11 minChannelEntriesFwd = 8
12 minTowerEntriesFwd = 24
15 tailPopulThreshold = 0.4
18 ecalTimingClient = cms.untracked.PSet(
19 params = cms.untracked.PSet(
20 minChannelEntries = cms.untracked.int32(minChannelEntries),
21 minTowerEntries = cms.untracked.int32(minTowerEntries),
22 ebtoleranceMean = cms.untracked.double(ebtoleranceMean),
23 eetoleranceMean = cms.untracked.double(eetoleranceMean),
24 toleranceRMS = cms.untracked.double(toleranceRMS),
25 minChannelEntriesFwd = cms.untracked.int32(minChannelEntriesFwd),
26 minTowerEntriesFwd = cms.untracked.int32(minTowerEntriesFwd),
27 toleranceMeanFwd = cms.untracked.double(toleranceMeanFwd),
28 toleranceRMSFwd = cms.untracked.double(toleranceRMSFwd),
29 tailPopulThreshold = cms.untracked.double(tailPopulThreshold)
31 sources = cms.untracked.PSet(
32 TimeAllMap = ecalTimingTask.MEs.TimeAllMap,
33 TimeMap = ecalTimingTask.MEs.TimeMap,
34 TimeMapByLS = ecalTimingTask.MEs.TimeMapByLS,
35 ChStatus = ecalIntegrityClient.MEs.ChStatus
37 MEs = cms.untracked.PSet(
38 RMSAll = cms.untracked.PSet(
39 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing rms 1D summary'),
40 kind = cms.untracked.string(
'TH1F'),
41 otype = cms.untracked.string(
'Ecal3P'),
42 xaxis = cms.untracked.PSet(
43 high = cms.untracked.double(10.0),
44 nbins = cms.untracked.int32(100),
45 low = cms.untracked.double(0.0),
46 title = cms.untracked.string(
'time (ns)')
48 btype = cms.untracked.string(
'User'),
49 description = cms.untracked.string(
'Distribution of per-channel timing RMS. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
51 ProjEta = cms.untracked.PSet(
52 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection eta%(suffix)s'),
53 kind = cms.untracked.string(
'TProfile'),
54 yaxis = cms.untracked.PSet(
55 title = cms.untracked.string(
'time (ns)')
57 otype = cms.untracked.string(
'Ecal3P'),
58 btype = cms.untracked.string(
'ProjEta'),
59 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
61 FwdBkwdDiff = cms.untracked.PSet(
62 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ - %(prefix)s-'),
63 kind = cms.untracked.string(
'TH1F'),
64 otype = cms.untracked.string(
'Ecal2P'),
65 xaxis = cms.untracked.PSet(
66 high = cms.untracked.double(5.0),
67 nbins = cms.untracked.int32(100),
68 low = cms.untracked.double(-5.0),
69 title = cms.untracked.string(
'time (ns)')
71 btype = cms.untracked.string(
'User'),
72 description = cms.untracked.string(
'Forward-backward asymmetry of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
74 FwdvBkwd = cms.untracked.PSet(
75 kind = cms.untracked.string(
'TH2F'),
76 yaxis = cms.untracked.PSet(
77 high = cms.untracked.double(timeWindow),
78 nbins = cms.untracked.int32(50),
79 low = cms.untracked.double(-timeWindow),
80 title = cms.untracked.string(
'time (ns)')
82 otype = cms.untracked.string(
'Ecal2P'),
83 xaxis = cms.untracked.PSet(
84 high = cms.untracked.double(timeWindow),
85 nbins = cms.untracked.int32(50),
86 low = cms.untracked.double(-timeWindow)
88 btype = cms.untracked.string(
'User'),
89 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ vs %(prefix)s-'),
90 description = cms.untracked.string(
'Forward-backward correlation of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
92 ProjPhi = cms.untracked.PSet(
93 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection phi%(suffix)s'),
94 kind = cms.untracked.string(
'TProfile'),
95 yaxis = cms.untracked.PSet(
96 title = cms.untracked.string(
'time (ns)')
98 otype = cms.untracked.string(
'Ecal3P'),
99 btype = cms.untracked.string(
'ProjPhi'),
100 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
102 MeanSM = cms.untracked.PSet(
103 kind = cms.untracked.string(
'TH1F'),
104 yaxis = cms.untracked.PSet(
105 title = cms.untracked.string(
'time (ns)')
107 otype = cms.untracked.string(
'SM'),
108 xaxis = cms.untracked.PSet(
109 high = cms.untracked.double(timeWindow),
110 nbins = cms.untracked.int32(100),
111 low = cms.untracked.double(-timeWindow)
113 btype = cms.untracked.string(
'User'),
114 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing mean %(sm)s'),
115 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
117 RMSMap = cms.untracked.PSet(
118 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing rms %(sm)s'),
119 kind = cms.untracked.string(
'TH2F'),
120 zaxis = cms.untracked.PSet(
121 title = cms.untracked.string(
'rms (ns)')
123 otype = cms.untracked.string(
'SM'),
124 btype = cms.untracked.string(
'Crystal'),
125 description = cms.untracked.string(
'2D distribution of per-channel timing RMS. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
127 QualitySummary = cms.untracked.PSet(
128 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing quality summary'),
129 kind = cms.untracked.string(
'TH2F'),
130 otype = cms.untracked.string(
'Ecal3P'),
131 btype = cms.untracked.string(
'SuperCrystal'),
132 description = cms.untracked.string(
'Summary of the timing data quality. A 5x5 tower is red if the mean timing of the tower is off by more than ' +
str(ebtoleranceMean) +
'for EB and ' +
str(eetoleranceMean) +
'for EE, or RMS is greater than ' +
str(toleranceRMS) +
' (' +
str(toleranceMeanFwd) +
' and ' +
str(toleranceRMSFwd) +
' in forward region). Towers with total entries less than ' +
str(minTowerEntries) +
' are not subject to this evaluation. Since 5x5 tower timings are calculated with a tighter time-window than per-channel timings, a tower can additionally become red if its the sum of per-channel timing histogram entries is greater than per-tower histogram entries by factor ' +
str(1. / (1. - tailPopulThreshold)) +
' (significant fraction of events fall outside the tight time-window).')
134 Quality = cms.untracked.PSet(
135 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing quality %(sm)s'),
136 kind = cms.untracked.string(
'TH2F'),
137 otype = cms.untracked.string(
'SM'),
138 btype = cms.untracked.string(
'Crystal'),
139 description = cms.untracked.string(
'Summary of the timing data quality. A channel is red if its mean timing is off by more than ' +
str(ebtoleranceMean) +
'for EB and' +
str(eetoleranceMean) +
'for EE, or RMS is greater than ' +
str(toleranceRMS) +
'. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
141 MeanAll = cms.untracked.PSet(
142 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing mean 1D summary'),
143 kind = cms.untracked.string(
'TH1F'),
144 otype = cms.untracked.string(
'Ecal3P'),
145 xaxis = cms.untracked.PSet(
146 high = cms.untracked.double(timeWindow),
147 nbins = cms.untracked.int32(100),
148 low = cms.untracked.double(-timeWindow),
149 title = cms.untracked.string(
'time (ns)')
151 btype = cms.untracked.string(
'User'),
152 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
154 TrendMean = cms.untracked.PSet(
155 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing mean'),
156 kind = cms.untracked.string(
'TProfile'),
157 otype = cms.untracked.string(
'Ecal2P'),
158 btype = cms.untracked.string(
'Trend'),
159 description = cms.untracked.string(
'Trend of timing mean. Plots simple average of all channel timing means at each lumisection.')
161 TrendRMS = cms.untracked.PSet(
162 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing rms'),
163 kind = cms.untracked.string(
'TProfile'),
164 otype = cms.untracked.string(
'Ecal2P'),
165 btype = cms.untracked.string(
'Trend'),
166 description = cms.untracked.string(
'Trend of timing rms. Plots simple average of all channel timing rms at each lumisection.')