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 = 1
7 minTowerEntries = 3
8 ebtoleranceMean = 2.
9 eetoleranceMean = 3.
10 toleranceRMS = 6.
11 minChannelEntriesFwd = 8
12 minTowerEntriesFwd = 24
13 toleranceMeanFwd = 6.
14 toleranceRMSFwd = 12.
15 tailPopulThreshold = 0.4
16 timeWindow = 25.
17 
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)
30  ),
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
36  ),
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)')
47  ),
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.')
50  ),
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)')
56  ),
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.')
60  ),
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)')
70  ),
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.')
73  ),
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)')
81  ),
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)
87  ),
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.')
91  ),
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)')
97  ),
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.')
101  ),
102  MeanSM = cms.untracked.PSet(
103  kind = cms.untracked.string('TH1F'),
104  yaxis = cms.untracked.PSet(
105  title = cms.untracked.string('time (ns)')
106  ),
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)
112  ),
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.')
116  ),
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)')
122  ),
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.')
126  ),
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).')
133  ),
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.')
140  ),
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)')
150  ),
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.')
153  ),
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.')
160  ),
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.')
167  )
168  )
169 )
170 
#define str(s)