1 import FWCore.ParameterSet.Config
as cms
3 from DQM.EcalMonitorTasks.TimingTask_cfi
import ecalTimingTask
9 minChannelEntriesFwd = 40
10 minTowerEntriesFwd = 160
13 tailPopulThreshold = 0.4
16 ecalTimingClient = cms.untracked.PSet(
17 params = cms.untracked.PSet(
18 minChannelEntries = cms.untracked.int32(minChannelEntries),
19 minTowerEntries = cms.untracked.int32(minTowerEntries),
20 toleranceMean = cms.untracked.double(toleranceMean),
21 toleranceRMS = cms.untracked.double(toleranceRMS),
22 minChannelEntriesFwd = cms.untracked.int32(minChannelEntriesFwd),
23 minTowerEntriesFwd = cms.untracked.int32(minTowerEntriesFwd),
24 toleranceMeanFwd = cms.untracked.double(toleranceMeanFwd),
25 toleranceRMSFwd = cms.untracked.double(toleranceRMSFwd),
26 tailPopulThreshold = cms.untracked.double(tailPopulThreshold)
28 sources = cms.untracked.PSet(
29 TimeAllMap = ecalTimingTask.MEs.TimeAllMap,
30 TimeMap = ecalTimingTask.MEs.TimeMap
32 MEs = cms.untracked.PSet(
33 RMSAll = cms.untracked.PSet(
34 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing rms 1D summary'),
35 kind = cms.untracked.string(
'TH1F'),
36 otype = cms.untracked.string(
'Ecal3P'),
37 xaxis = cms.untracked.PSet(
38 high = cms.untracked.double(10.0),
39 nbins = cms.untracked.int32(100),
40 low = cms.untracked.double(0.0),
41 title = cms.untracked.string(
'time (ns)')
43 btype = cms.untracked.string(
'User'),
44 description = cms.untracked.string(
'Distribution of per-channel timing RMS. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
46 ProjEta = cms.untracked.PSet(
47 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection eta%(suffix)s'),
48 kind = cms.untracked.string(
'TProfile'),
49 yaxis = cms.untracked.PSet(
50 title = cms.untracked.string(
'time (ns)')
52 otype = cms.untracked.string(
'Ecal3P'),
53 btype = cms.untracked.string(
'ProjEta'),
54 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
56 FwdBkwdDiff = cms.untracked.PSet(
57 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ - %(prefix)s-'),
58 kind = cms.untracked.string(
'TH1F'),
59 otype = cms.untracked.string(
'Ecal2P'),
60 xaxis = cms.untracked.PSet(
61 high = cms.untracked.double(5.0),
62 nbins = cms.untracked.int32(100),
63 low = cms.untracked.double(-5.0),
64 title = cms.untracked.string(
'time (ns)')
66 btype = cms.untracked.string(
'User'),
67 description = cms.untracked.string(
'Forward-backward asymmetry of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
69 FwdvBkwd = cms.untracked.PSet(
70 kind = cms.untracked.string(
'TH2F'),
71 yaxis = cms.untracked.PSet(
72 high = cms.untracked.double(timeWindow),
73 nbins = cms.untracked.int32(50),
74 low = cms.untracked.double(-timeWindow),
75 title = cms.untracked.string(
'time (ns)')
77 otype = cms.untracked.string(
'Ecal2P'),
78 xaxis = cms.untracked.PSet(
79 high = cms.untracked.double(timeWindow),
80 nbins = cms.untracked.int32(50),
81 low = cms.untracked.double(-timeWindow)
83 btype = cms.untracked.string(
'User'),
84 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ vs %(prefix)s-'),
85 description = cms.untracked.string(
'Forward-backward correlation of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
87 ProjPhi = cms.untracked.PSet(
88 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection phi%(suffix)s'),
89 kind = cms.untracked.string(
'TProfile'),
90 yaxis = cms.untracked.PSet(
91 title = cms.untracked.string(
'time (ns)')
93 otype = cms.untracked.string(
'Ecal3P'),
94 btype = cms.untracked.string(
'ProjPhi'),
95 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
97 MeanSM = cms.untracked.PSet(
98 kind = cms.untracked.string(
'TH1F'),
99 yaxis = cms.untracked.PSet(
100 title = cms.untracked.string(
'time (ns)')
102 otype = cms.untracked.string(
'SM'),
103 xaxis = cms.untracked.PSet(
104 high = cms.untracked.double(timeWindow),
105 nbins = cms.untracked.int32(100),
106 low = cms.untracked.double(-timeWindow)
108 btype = cms.untracked.string(
'User'),
109 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing mean %(sm)s'),
110 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
112 RMSMap = cms.untracked.PSet(
113 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing rms %(sm)s'),
114 kind = cms.untracked.string(
'TH2F'),
115 zaxis = cms.untracked.PSet(
116 title = cms.untracked.string(
'rms (ns)')
118 otype = cms.untracked.string(
'SM'),
119 btype = cms.untracked.string(
'Crystal'),
120 description = cms.untracked.string(
'2D distribution of per-channel timing RMS. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
122 QualitySummary = cms.untracked.PSet(
123 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing quality summary'),
124 kind = cms.untracked.string(
'TH2F'),
125 otype = cms.untracked.string(
'Ecal3P'),
126 btype = cms.untracked.string(
'SuperCrystal'),
127 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).')
129 Quality = cms.untracked.PSet(
130 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing quality %(sm)s'),
131 kind = cms.untracked.string(
'TH2F'),
132 otype = cms.untracked.string(
'SM'),
133 btype = cms.untracked.string(
'Crystal'),
134 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.')
136 MeanAll = cms.untracked.PSet(
137 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing mean 1D summary'),
138 kind = cms.untracked.string(
'TH1F'),
139 otype = cms.untracked.string(
'Ecal3P'),
140 xaxis = cms.untracked.PSet(
141 high = cms.untracked.double(timeWindow),
142 nbins = cms.untracked.int32(100),
143 low = cms.untracked.double(-timeWindow),
144 title = cms.untracked.string(
'time (ns)')
146 btype = cms.untracked.string(
'User'),
147 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
149 TrendMean = cms.untracked.PSet(
150 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing mean'),
151 kind = cms.untracked.string(
'TProfile'),
152 otype = cms.untracked.string(
'Ecal2P'),
153 btype = cms.untracked.string(
'Trend'),
154 description = cms.untracked.string(
'Trend of timing mean. Plots simple average of all channel timing means at each lumisection.')
156 TrendRMS = cms.untracked.PSet(
157 path = cms.untracked.string(
'Ecal/Trends/TimingClient %(prefix)s timing rms'),
158 kind = cms.untracked.string(
'TProfile'),
159 otype = cms.untracked.string(
'Ecal2P'),
160 btype = cms.untracked.string(
'Trend'),
161 description = cms.untracked.string(
'Trend of timing rms. Plots simple average of all channel timing rms at each lumisection.')