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('bunch crossing'),
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 the barrel as a function of BX number.')
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('bunch crossing'),
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 the barrel as a finely-binned function of BX number.')
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:51
funct::pow
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29