CMS 3D CMS Logo

TimingClient_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from DQM.EcalMonitorTasks.TimingTask_cfi import ecalTimingTask
4 from DQM.EcalMonitorClient.IntegrityClient_cfi import ecalIntegrityClient
5 
6 minChannelEntries = 5
7 minTowerEntries = 15
8 toleranceMean = 2.
9 toleranceRMS = 6.
10 minChannelEntriesFwd = 40
11 minTowerEntriesFwd = 160
12 toleranceMeanFwd = 6.
13 toleranceRMSFwd = 12.
14 tailPopulThreshold = 0.4
15 timeWindow = 25.
16 
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)
28  ),
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
34  ),
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)')
45  ),
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.')
48  ),
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)')
54  ),
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.')
58  ),
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)')
68  ),
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.')
71  ),
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)')
79  ),
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)
85  ),
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.')
89  ),
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)')
95  ),
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.')
99  ),
100  MeanSM = cms.untracked.PSet(
101  kind = cms.untracked.string('TH1F'),
102  yaxis = cms.untracked.PSet(
103  title = cms.untracked.string('time (ns)')
104  ),
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)
110  ),
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.')
114  ),
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)')
120  ),
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.')
124  ),
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).')
131  ),
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.')
138  ),
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)')
148  ),
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.')
151  ),
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.')
158  ),
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.')
165  )
166  )
167 )
168