1 import FWCore.ParameterSet.Config
as cms
3 from DQM.EcalMonitorTasks.TimingTask_cfi
import ecalTimingTask
4 from DQM.EcalMonitorClient.IntegrityClient_cfi
import ecalIntegrityClient
10 minChannelEntriesFwd = 40
11 minTowerEntriesFwd = 160
14 tailPopulThreshold = 0.4
17 ecalTimingClient = cms.untracked.PSet(
18 params = cms.untracked.PSet(
19 minChannelEntries = cms.untracked.int32(minChannelEntries),
20 minTowerEntries = cms.untracked.int32(minTowerEntries),
21 toleranceMean = cms.untracked.double(toleranceMean),
22 toleranceRMS = cms.untracked.double(toleranceRMS),
23 minChannelEntriesFwd = cms.untracked.int32(minChannelEntriesFwd),
24 minTowerEntriesFwd = cms.untracked.int32(minTowerEntriesFwd),
25 toleranceMeanFwd = cms.untracked.double(toleranceMeanFwd),
26 toleranceRMSFwd = cms.untracked.double(toleranceRMSFwd),
27 tailPopulThreshold = cms.untracked.double(tailPopulThreshold)
29 sources = cms.untracked.PSet(
30 TimeAllMap = ecalTimingTask.MEs.TimeAllMap,
31 TimeMap = ecalTimingTask.MEs.TimeMap,
32 TimeMapByLS = ecalTimingTask.MEs.TimeMapByLS,
33 ChStatus = ecalIntegrityClient.MEs.ChStatus
35 MEs = cms.untracked.PSet(
36 RMSAll = cms.untracked.PSet(
37 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing rms 1D summary'),
38 kind = cms.untracked.string(
'TH1F'),
39 otype = cms.untracked.string(
'Ecal3P'),
40 xaxis = cms.untracked.PSet(
41 high = cms.untracked.double(10.0),
42 nbins = cms.untracked.int32(100),
43 low = cms.untracked.double(0.0),
44 title = cms.untracked.string(
'time (ns)')
46 btype = cms.untracked.string(
'User'),
47 description = cms.untracked.string(
'Distribution of per-channel timing RMS. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
49 ProjEta = cms.untracked.PSet(
50 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection eta%(suffix)s'),
51 kind = cms.untracked.string(
'TProfile'),
52 yaxis = cms.untracked.PSet(
53 title = cms.untracked.string(
'time (ns)')
55 otype = cms.untracked.string(
'Ecal3P'),
56 btype = cms.untracked.string(
'ProjEta'),
57 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
59 FwdBkwdDiff = cms.untracked.PSet(
60 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ - %(prefix)s-'),
61 kind = cms.untracked.string(
'TH1F'),
62 otype = cms.untracked.string(
'Ecal2P'),
63 xaxis = cms.untracked.PSet(
64 high = cms.untracked.double(5.0),
65 nbins = cms.untracked.int32(100),
66 low = cms.untracked.double(-5.0),
67 title = cms.untracked.string(
'time (ns)')
69 btype = cms.untracked.string(
'User'),
70 description = cms.untracked.string(
'Forward-backward asymmetry of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
72 FwdvBkwd = cms.untracked.PSet(
73 kind = cms.untracked.string(
'TH2F'),
74 yaxis = cms.untracked.PSet(
75 high = cms.untracked.double(timeWindow),
76 nbins = cms.untracked.int32(50),
77 low = cms.untracked.double(-timeWindow),
78 title = cms.untracked.string(
'time (ns)')
80 otype = cms.untracked.string(
'Ecal2P'),
81 xaxis = cms.untracked.PSet(
82 high = cms.untracked.double(timeWindow),
83 nbins = cms.untracked.int32(50),
84 low = cms.untracked.double(-timeWindow)
86 btype = cms.untracked.string(
'User'),
87 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ vs %(prefix)s-'),
88 description = cms.untracked.string(
'Forward-backward correlation of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
90 ProjPhi = cms.untracked.PSet(
91 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection phi%(suffix)s'),
92 kind = cms.untracked.string(
'TProfile'),
93 yaxis = cms.untracked.PSet(
94 title = cms.untracked.string(
'time (ns)')
96 otype = cms.untracked.string(
'Ecal3P'),
97 btype = cms.untracked.string(
'ProjPhi'),
98 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
100 MeanSM = cms.untracked.PSet(
101 kind = cms.untracked.string(
'TH1F'),
102 yaxis = cms.untracked.PSet(
103 title = cms.untracked.string(
'time (ns)')
105 otype = cms.untracked.string(
'SM'),
106 xaxis = cms.untracked.PSet(
107 high = cms.untracked.double(timeWindow),
108 nbins = cms.untracked.int32(100),
109 low = cms.untracked.double(-timeWindow)
111 btype = cms.untracked.string(
'User'),
112 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing mean %(sm)s'),
113 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
115 RMSMap = cms.untracked.PSet(
116 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing rms %(sm)s'),
117 kind = cms.untracked.string(
'TH2F'),
118 zaxis = cms.untracked.PSet(
119 title = cms.untracked.string(
'rms (ns)')
121 otype = cms.untracked.string(
'SM'),
122 btype = cms.untracked.string(
'Crystal'),
123 description = cms.untracked.string(
'2D distribution of per-channel timing RMS. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
125 QualitySummary = cms.untracked.PSet(
126 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing quality summary'),
127 kind = cms.untracked.string(
'TH2F'),
128 otype = cms.untracked.string(
'Ecal3P'),
129 btype = cms.untracked.string(
'SuperCrystal'),
130 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(toleranceMean) +
' 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).')
132 Quality = cms.untracked.PSet(
133 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing quality %(sm)s'),
134 kind = cms.untracked.string(
'TH2F'),
135 otype = cms.untracked.string(
'SM'),
136 btype = cms.untracked.string(
'Crystal'),
137 description = cms.untracked.string(
'Summary of the timing data quality. A channel is red if its mean timing is off by more than ' +
str(toleranceMean) +
' or RMS is greater than ' +
str(toleranceRMS) +
'. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
139 MeanAll = cms.untracked.PSet(
140 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing mean 1D summary'),
141 kind = cms.untracked.string(
'TH1F'),
142 otype = cms.untracked.string(
'Ecal3P'),
143 xaxis = cms.untracked.PSet(
144 high = cms.untracked.double(timeWindow),
145 nbins = cms.untracked.int32(100),
146 low = cms.untracked.double(-timeWindow),
147 title = cms.untracked.string(
'time (ns)')
149 btype = cms.untracked.string(
'User'),
150 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' +
str(minChannelEntries) +
' are not considered.')
152 TrendMean = cms.untracked.PSet(
153 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing mean'),
154 kind = cms.untracked.string(
'TProfile'),
155 otype = cms.untracked.string(
'Ecal2P'),
156 btype = cms.untracked.string(
'Trend'),
157 description = cms.untracked.string(
'Trend of timing mean. Plots simple average of all channel timing means at each lumisection.')
159 TrendRMS = cms.untracked.PSet(
160 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing rms'),
161 kind = cms.untracked.string(
'TProfile'),
162 otype = cms.untracked.string(
'Ecal2P'),
163 btype = cms.untracked.string(
'Trend'),
164 description = cms.untracked.string(
'Trend of timing rms. Plots simple average of all channel timing rms at each lumisection.')