CMS 3D CMS Logo

TimingTask_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 bxBins = [1]
4 
5 bxStepSizes = [9, 50, 100, 300]
6 bxMaxVals = [101, 1501, 2401, 3601]
7 runningMinVal = 1
8 
9 for stepCounter in range(len(bxStepSizes)):
10  runningMinVal = bxBins[-1]
11  bxStepSize = bxStepSizes[stepCounter]
12  bxMaxVal = bxMaxVals[stepCounter]
13  bxBins += list(range(runningMinVal + bxStepSize, bxMaxVal, bxStepSize))
14 
15 bxBinLabels = [str(bxBins[0])]
16 for bxBinCounter in range(0, -1+len(bxBins)):
17  bxBinLabels += [str(1+bxBins[bxBinCounter]) + "-->" + str(bxBins[bxBinCounter+1])]
18 
19 nBXBins = len(bxBins)
20 
21 bxBinsFine = [i for i in range(1, 3601)]
22 bxBinLabelsFine = [str(i) for i in range(1, 3601)]
23 nBXBinsFine = len(bxBinsFine)
24 
25 EaxisEdges = []
26 for i in range(50) :
27  EaxisEdges.append(pow(10., -0.5 + 2.5 / 50. * i))
28 
29 chi2ThresholdEE = 50.
30 chi2ThresholdEB = 16.
31 energyThresholdEE = 4.6
32 energyThresholdEEFwd = 6.7
33 energyThresholdEB = 2.02
34 timingVsBXThreshold = energyThresholdEB
35 timeErrorThreshold = 3.
36 timeWindow = 12.5
37 summaryTimeWindow = 7.
38 
39 ecalTimingTask = cms.untracked.PSet(
40  params = cms.untracked.PSet(
41  bxBins = cms.untracked.vint32(bxBins),
42  bxBinsFine = cms.untracked.vint32(bxBinsFine),
43  chi2ThresholdEE = cms.untracked.double(chi2ThresholdEE),
44  chi2ThresholdEB = cms.untracked.double(chi2ThresholdEB),
45  energyThresholdEE = cms.untracked.double(energyThresholdEE),
46  energyThresholdEEFwd = cms.untracked.double(energyThresholdEEFwd),
47  energyThresholdEB = cms.untracked.double(energyThresholdEB),
48  timingVsBXThreshold = cms.untracked.double(timingVsBXThreshold),
49  timeErrorThreshold = cms.untracked.double(timeErrorThreshold)
50  ),
51  MEs = cms.untracked.PSet(
52  TimeMap = cms.untracked.PSet(
53  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(sm)s'),
54  kind = cms.untracked.string('TProfile2D'),
55  zaxis = cms.untracked.PSet(
56  high = cms.untracked.double(timeWindow),
57  low = cms.untracked.double(-timeWindow),
58  title = cms.untracked.string('time (ns)')
59  ),
60  otype = cms.untracked.string('SM'),
61  btype = cms.untracked.string('Crystal'),
62  description = cms.untracked.string('2D distribution of the mean rec hit timing. Only hits with GOOD or OUT_OF_TIME reconstruction flags and energy above threshold are used. Hits with |t| > ' + str(timeWindow) + ' ns are discarded. The energy thresholds are ' + ('%f and %f' % (energyThresholdEB, energyThresholdEE)) + ' for EB and EE respectively.')
63  ),
64  TimeMapByLS = cms.untracked.PSet(
65  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing by LS %(sm)s'),
66  kind = cms.untracked.string('TProfile2D'),
67  zaxis = cms.untracked.PSet(
68  high = cms.untracked.double(timeWindow),
69  low = cms.untracked.double(-timeWindow),
70  title = cms.untracked.string('time (ns)')
71  ),
72  otype = cms.untracked.string('SM'),
73  btype = cms.untracked.string('Crystal'),
74  description = cms.untracked.string('2D distribution of the mean rec hit timing. Only hits with GOOD or OUT_OF_TIME reconstruction flags and energy above threshold are used. Hits with |t| > ' + str(timeWindow) + ' ns are discarded. The energy thresholds are ' + ('%f and %f' % (energyThresholdEB, energyThresholdEE)) + ' for EB and EE respectively.')
75  ),
76  TimeAll = cms.untracked.PSet(
77  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing 1D summary%(suffix)s'),
78  kind = cms.untracked.string('TH1F'),
79  otype = cms.untracked.string('Ecal3P'),
80  xaxis = cms.untracked.PSet(
81  high = cms.untracked.double(timeWindow),
82  nbins = cms.untracked.int32(100),
83  low = cms.untracked.double(-timeWindow),
84  title = cms.untracked.string('time (ns)')
85  ),
86  btype = cms.untracked.string('User'),
87  description = cms.untracked.string('Distribution of the mean rec hit timing. Only hits with GOOD or OUT_OF_TIME reconstruction flags and energy above threshold are used. The energy thresholds are ' + ('%f and %f' % (energyThresholdEB, energyThresholdEE)) + ' for EB and EE respectively.')
88  ),
89  TimeAllMap = cms.untracked.PSet(
90  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing map%(suffix)s'),
91  kind = cms.untracked.string('TProfile2D'),
92  zaxis = cms.untracked.PSet(
93  high = cms.untracked.double(summaryTimeWindow),
94  low = cms.untracked.double(-summaryTimeWindow),
95  title = cms.untracked.string('time (ns)')
96  ),
97  otype = cms.untracked.string('Ecal3P'),
98  btype = cms.untracked.string('SuperCrystal'),
99  description = cms.untracked.string('2D distribution of the mean rec hit timing. Only hits with GOOD or OUT_OF_TIME reconstruction flags and energy above threshold are used. Hits with |t| > ' + str(summaryTimeWindow) + ' ns are discarded. The energy thresholds are ' + ('%f and %f' % (energyThresholdEB, energyThresholdEE)) + ' for EB and EE respectively.')
100  ),
101  TimeAmpAll = cms.untracked.PSet(
102  kind = cms.untracked.string('TH2F'),
103  yaxis = cms.untracked.PSet(
104  high = cms.untracked.double(50.0),
105  nbins = cms.untracked.int32(200),
106  low = cms.untracked.double(-50.0),
107  title = cms.untracked.string('time (ns)')
108  ),
109  otype = cms.untracked.string('Ecal3P'),
110  xaxis = cms.untracked.PSet(
111  edges = cms.untracked.vdouble(EaxisEdges),
112  title = cms.untracked.string('energy (GeV)')
113  ),
114  btype = cms.untracked.string('User'),
115  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing vs amplitude summary%(suffix)s'),
116  description = cms.untracked.string('Correlation between hit timing and energy. Only hits with GOOD or OUT_OF_TIME reconstruction flags are used.')
117  ),
118  TimeAmp = cms.untracked.PSet(
119  kind = cms.untracked.string('TH2F'),
120  yaxis = cms.untracked.PSet(
121  high = cms.untracked.double(50.0),
122  nbins = cms.untracked.int32(200),
123  low = cms.untracked.double(-50.0),
124  title = cms.untracked.string('time (ns)')
125  ),
126  otype = cms.untracked.string('SM'),
127  xaxis = cms.untracked.PSet(
128  edges = cms.untracked.vdouble(EaxisEdges),
129  title = cms.untracked.string('energy (GeV)')
130  ),
131  btype = cms.untracked.string('User'),
132  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing vs amplitude %(sm)s'),
133  description = cms.untracked.string('Correlation between hit timing and energy. Only hits with GOOD or OUT_OF_TIME reconstruction flags are used.')
134  ),
135  BarrelTimingVsBX = cms.untracked.PSet(
136  path = cms.untracked.string('EcalBarrel/EBTimingTask/EBTMT Timing vs BX'),
137  kind = cms.untracked.string('TProfile'),
138  otype = cms.untracked.string('EB'),
139  xaxis = cms.untracked.PSet(
140  high = cms.untracked.double(1.0*nBXBins),
141  nbins = cms.untracked.int32(nBXBins),
142  low = cms.untracked.double(0.0),
143  title = cms.untracked.string('BX Id'),
144  labels = cms.untracked.vstring(bxBinLabels)
145  ),
146  yaxis = cms.untracked.PSet(
147  title = cms.untracked.string('Timing (ns)')
148  ),
149  btype = cms.untracked.string('User'),
150  description = cms.untracked.string('Average hit timing in EB as a function of BX number. BX ids start at 1. Only events with energy above 2.02 GeV and chi2 less than 16 are used.')
151  ),
152  BarrelTimingVsBXFineBinned = cms.untracked.PSet(
153  path = cms.untracked.string('EcalBarrel/EBTimingTask/EBTMT Timing vs Finely Binned BX'),
154  kind = cms.untracked.string('TProfile'),
155  otype = cms.untracked.string('EB'),
156  xaxis = cms.untracked.PSet(
157  high = cms.untracked.double(1.0*nBXBinsFine),
158  nbins = cms.untracked.int32(nBXBinsFine),
159  low = cms.untracked.double(0.0),
160  title = cms.untracked.string('BX Id'),
161  labels = cms.untracked.vstring(bxBinLabelsFine)
162  ),
163  yaxis = cms.untracked.PSet(
164  title = cms.untracked.string('Timing (ns)')
165  ),
166  btype = cms.untracked.string('User'),
167  description = cms.untracked.string('Average hit timing in EB as a finely binned function of BX number. BX ids start at 1. Only events with energy above 2.02 GeV and chi2 less than 16 are used. The Customize button can be used to zoom in.')
168  ),
169  TimeAmpBXm = cms.untracked.PSet(
170  kind = cms.untracked.string('TH2F'),
171  yaxis = cms.untracked.PSet(
172  high = cms.untracked.double(100.0),
173  nbins = cms.untracked.int32(100),
174  low = cms.untracked.double(0.0),
175  title = cms.untracked.string('Amplitude BX-1 [ADC]')
176  ),
177  otype = cms.untracked.string('Ecal3P'),
178  xaxis = cms.untracked.PSet(
179  high = cms.untracked.double(1000.0),
180  nbins = cms.untracked.int32(250),
181  low = cms.untracked.double(0.0),
182  title = cms.untracked.string('In-time amplitude [ADC]')
183  ),
184  btype = cms.untracked.string('User'),
185  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT in-time vs BX-1 amplitude%(suffix)s'),
186  description = cms.untracked.string('Correlation between in-time amplitude and BX-1 out-of-time amplitude. Only events with kGood reconstruction flag set, energy > ( ' + ('EB:%f, EE:%f' % (energyThresholdEB*20., energyThresholdEE*5.)) + ' ) GeV, and chi2 < ( ' + ('EB:%f, EE:%f' % (chi2ThresholdEB, chi2ThresholdEE)) + ' ) are used.')
187  ),
188  TimeAmpBXp = cms.untracked.PSet(
189  kind = cms.untracked.string('TH2F'),
190  yaxis = cms.untracked.PSet(
191  high = cms.untracked.double(100.0),
192  nbins = cms.untracked.int32(100),
193  low = cms.untracked.double(0.0),
194  title = cms.untracked.string('Amplitude BX+1 [ADC]')
195  ),
196  otype = cms.untracked.string('Ecal3P'),
197  xaxis = cms.untracked.PSet(
198  high = cms.untracked.double(1000.0),
199  nbins = cms.untracked.int32(250),
200  low = cms.untracked.double(0.0),
201  title = cms.untracked.string('In-time amplitude [ADC]')
202  ),
203  btype = cms.untracked.string('User'),
204  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT in-time vs BX+1 amplitude%(suffix)s'),
205  description = cms.untracked.string('Correlation between in-time amplitude and BX+1 out-of-time amplitude. Only events with kGood reconstruction flag set, energy > ( ' + ('EB:%f, EE:%f' % (energyThresholdEB*20., energyThresholdEE*5.)) + ' ) GeV, and chi2 < ( ' + ('EB:%f, EE:%f' % (chi2ThresholdEB, chi2ThresholdEE)) + ' ) are used.')
206  ),
207  Time1D = cms.untracked.PSet(
208  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing 1D %(sm)s'),
209  kind = cms.untracked.string('TH1F'),
210  otype = cms.untracked.string('SM'),
211  xaxis = cms.untracked.PSet(
212  high = cms.untracked.double(timeWindow),
213  nbins = cms.untracked.int32(100),
214  low = cms.untracked.double(-timeWindow),
215  title = cms.untracked.string('time (ns)')
216  ),
217  btype = cms.untracked.string('User'),
218  description = cms.untracked.string('Distribution of the mean rec hit timing. Only hits with GOOD or OUT_OF_TIME reconstruction flags and energy above threshold are used. The energy thresholds are ' + ('%f and %f' % (energyThresholdEB, energyThresholdEE)) + ' for EB and EE respectively.')
219  ),
220  Chi2 = cms.untracked.PSet(
221  path = cms.untracked.string("%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT %(subdetshortsig)s Chi2"),
222  kind = cms.untracked.string('TH1F'),
223  otype = cms.untracked.string('Ecal3P'),
224  btype = cms.untracked.string('User'),
225  xaxis = cms.untracked.PSet(
226  high = cms.untracked.double(100.),
227  low = cms.untracked.double(0.),
228  nbins = cms.untracked.int32(100)
229  ),
230  description = cms.untracked.string('Chi2 of the pulse reconstruction.')
231  )
232  )
233 )
FastTimerService_cff.range
range
Definition: FastTimerService_cff.py:34
str
#define str(s)
Definition: TestProcessor.cc:52
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29