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
15 ecalTimingClient = cms.untracked.PSet(
16 params = cms.untracked.PSet(
17 minChannelEntries = cms.untracked.int32(minChannelEntries),
18 minTowerEntries = cms.untracked.int32(minTowerEntries),
19 toleranceMean = cms.untracked.double(toleranceMean),
20 toleranceRMS = cms.untracked.double(toleranceRMS),
21 minChannelEntriesFwd = cms.untracked.int32(minChannelEntriesFwd),
22 minTowerEntriesFwd = cms.untracked.int32(minTowerEntriesFwd),
23 toleranceMeanFwd = cms.untracked.double(toleranceMeanFwd),
24 toleranceRMSFwd = cms.untracked.double(toleranceRMSFwd),
25 tailPopulThreshold = cms.untracked.double(tailPopulThreshold)
27 sources = cms.untracked.PSet(
28 TimeAllMap = ecalTimingTask.MEs.TimeAllMap,
29 TimeMap = ecalTimingTask.MEs.TimeMap
31 MEs = cms.untracked.PSet(
32 RMSAll = cms.untracked.PSet(
33 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing rms 1D summary'),
34 kind = cms.untracked.string(
'TH1F'),
35 otype = cms.untracked.string(
'Ecal3P'),
36 xaxis = cms.untracked.PSet(
37 high = cms.untracked.double(10.0),
38 nbins = cms.untracked.int32(100),
39 low = cms.untracked.double(0.0),
40 title = cms.untracked.string(
'time (ns)')
42 btype = cms.untracked.string(
'User'),
43 description = cms.untracked.string(
'Distribution of per-channel timing RMS. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
45 ProjEta = cms.untracked.PSet(
46 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection eta%(suffix)s'),
47 kind = cms.untracked.string(
'TProfile'),
48 yaxis = cms.untracked.PSet(
49 title = cms.untracked.string(
'time (ns)')
51 otype = cms.untracked.string(
'Ecal3P'),
52 btype = cms.untracked.string(
'ProjEta'),
53 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
55 FwdBkwdDiff = cms.untracked.PSet(
56 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ - %(prefix)s-'),
57 kind = cms.untracked.string(
'TH1F'),
58 otype = cms.untracked.string(
'Ecal2P'),
59 xaxis = cms.untracked.PSet(
60 high = cms.untracked.double(5.0),
61 nbins = cms.untracked.int32(100),
62 low = cms.untracked.double(-5.0),
63 title = cms.untracked.string(
'time (ns)')
65 btype = cms.untracked.string(
'User'),
66 description = cms.untracked.string(
'Forward-backward asymmetry of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
68 FwdvBkwd = cms.untracked.PSet(
69 kind = cms.untracked.string(
'TH2F'),
70 yaxis = cms.untracked.PSet(
71 high = cms.untracked.double(25.0),
72 nbins = cms.untracked.int32(50),
73 low = cms.untracked.double(-25.0),
74 title = cms.untracked.string(
'time (ns)')
76 otype = cms.untracked.string(
'Ecal2P'),
77 xaxis = cms.untracked.PSet(
78 high = cms.untracked.double(25.0),
79 nbins = cms.untracked.int32(50),
80 low = cms.untracked.double(-25.0)
82 btype = cms.untracked.string(
'User'),
83 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(prefix)s+ vs %(prefix)s-'),
84 description = cms.untracked.string(
'Forward-backward correlation of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
86 ProjPhi = cms.untracked.PSet(
87 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing projection phi%(suffix)s'),
88 kind = cms.untracked.string(
'TProfile'),
89 yaxis = cms.untracked.PSet(
90 title = cms.untracked.string(
'time (ns)')
92 otype = cms.untracked.string(
'Ecal3P'),
93 btype = cms.untracked.string(
'ProjPhi'),
94 description = cms.untracked.string(
'Projection of per-channel mean timing. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
96 MeanSM = cms.untracked.PSet(
97 kind = cms.untracked.string(
'TH1F'),
98 yaxis = cms.untracked.PSet(
99 title = cms.untracked.string(
'time (ns)')
101 otype = cms.untracked.string(
'SM'),
102 xaxis = cms.untracked.PSet(
103 high = cms.untracked.double(25.0),
104 nbins = cms.untracked.int32(100),
105 low = cms.untracked.double(-25.0)
107 btype = cms.untracked.string(
'User'),
108 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing mean %(sm)s'),
109 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
111 RMSMap = cms.untracked.PSet(
112 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing rms %(sm)s'),
113 kind = cms.untracked.string(
'TH2F'),
114 zaxis = cms.untracked.PSet(
115 title = cms.untracked.string(
'rms (ns)')
117 otype = cms.untracked.string(
'SM'),
118 btype = cms.untracked.string(
'Crystal'),
119 description = cms.untracked.string(
'2D distribution of per-channel timing RMS. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')
121 QualitySummary = cms.untracked.PSet(
122 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing quality summary'),
123 kind = cms.untracked.string(
'TH2F'),
124 otype = cms.untracked.string(
'Ecal3P'),
125 btype = cms.untracked.string(
'SuperCrystal'),
126 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).')
128 Quality = cms.untracked.PSet(
129 path = cms.untracked.string(
'%(subdet)s/%(prefix)sTimingClient/%(prefix)sTMT timing quality %(sm)s'),
130 kind = cms.untracked.string(
'TH2F'),
131 otype = cms.untracked.string(
'SM'),
132 btype = cms.untracked.string(
'Crystal'),
133 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.')
135 MeanAll = cms.untracked.PSet(
136 path = cms.untracked.string(
'%(subdet)s/%(prefix)sSummaryClient/%(prefix)sTMT%(suffix)s timing mean 1D summary'),
137 kind = cms.untracked.string(
'TH1F'),
138 otype = cms.untracked.string(
'Ecal3P'),
139 xaxis = cms.untracked.PSet(
140 high = cms.untracked.double(25.0),
141 nbins = cms.untracked.int32(100),
142 low = cms.untracked.double(-25.0),
143 title = cms.untracked.string(
'time (ns)')
145 btype = cms.untracked.string(
'User'),
146 description = cms.untracked.string(
'Distribution of per-channel timing mean. Channels with entries less than ' + str(minChannelEntries) +
' are not considered.')