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) if (i%100 == 0) else "" 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 = 3.
32 energyThresholdEB = 1.
33 timingVsBXThreshold = 2.02
34 timeWindow = 12.5
35 summaryTimeWindow = 7.
36 
37 ecalTimingTask = cms.untracked.PSet(
38  params = cms.untracked.PSet(
39  bxBins = cms.untracked.vint32(bxBins),
40  bxBinsFine = cms.untracked.vint32(bxBinsFine),
41  chi2ThresholdEE = cms.untracked.double(chi2ThresholdEE),
42  chi2ThresholdEB = cms.untracked.double(chi2ThresholdEB),
43  energyThresholdEE = cms.untracked.double(energyThresholdEE),
44  energyThresholdEB = cms.untracked.double(energyThresholdEB),
45  timingVsBXThreshold = cms.untracked.double(timingVsBXThreshold)
46  ),
47  MEs = cms.untracked.PSet(
48  TimeMap = cms.untracked.PSet(
49  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing %(sm)s'),
50  kind = cms.untracked.string('TProfile2D'),
51  zaxis = cms.untracked.PSet(
52  high = cms.untracked.double(timeWindow),
53  low = cms.untracked.double(-timeWindow),
54  title = cms.untracked.string('time (ns)')
55  ),
56  otype = cms.untracked.string('SM'),
57  btype = cms.untracked.string('Crystal'),
58  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.')
59  ),
60  TimeMapByLS = cms.untracked.PSet(
61  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing by LS %(sm)s'),
62  kind = cms.untracked.string('TProfile2D'),
63  zaxis = cms.untracked.PSet(
64  high = cms.untracked.double(timeWindow),
65  low = cms.untracked.double(-timeWindow),
66  title = cms.untracked.string('time (ns)')
67  ),
68  otype = cms.untracked.string('SM'),
69  btype = cms.untracked.string('Crystal'),
70  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.')
71  ),
72  TimeAll = cms.untracked.PSet(
73  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing 1D summary%(suffix)s'),
74  kind = cms.untracked.string('TH1F'),
75  otype = cms.untracked.string('Ecal3P'),
76  xaxis = cms.untracked.PSet(
77  high = cms.untracked.double(timeWindow),
78  nbins = cms.untracked.int32(100),
79  low = cms.untracked.double(-timeWindow),
80  title = cms.untracked.string('time (ns)')
81  ),
82  btype = cms.untracked.string('User'),
83  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.')
84  ),
85  TimeAllMap = cms.untracked.PSet(
86  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing map%(suffix)s'),
87  kind = cms.untracked.string('TProfile2D'),
88  zaxis = cms.untracked.PSet(
89  high = cms.untracked.double(summaryTimeWindow),
90  low = cms.untracked.double(-summaryTimeWindow),
91  title = cms.untracked.string('time (ns)')
92  ),
93  otype = cms.untracked.string('Ecal3P'),
94  btype = cms.untracked.string('SuperCrystal'),
95  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.')
96  ),
97  TimeAmpAll = cms.untracked.PSet(
98  kind = cms.untracked.string('TH2F'),
99  yaxis = cms.untracked.PSet(
100  high = cms.untracked.double(50.0),
101  nbins = cms.untracked.int32(200),
102  low = cms.untracked.double(-50.0),
103  title = cms.untracked.string('time (ns)')
104  ),
105  otype = cms.untracked.string('Ecal3P'),
106  xaxis = cms.untracked.PSet(
107  edges = cms.untracked.vdouble(EaxisEdges),
108  title = cms.untracked.string('energy (GeV)')
109  ),
110  btype = cms.untracked.string('User'),
111  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing vs amplitude summary%(suffix)s'),
112  description = cms.untracked.string('Correlation between hit timing and energy. Only hits with GOOD or OUT_OF_TIME reconstruction flags are used.')
113  ),
114  TimeAmp = cms.untracked.PSet(
115  kind = cms.untracked.string('TH2F'),
116  yaxis = cms.untracked.PSet(
117  high = cms.untracked.double(50.0),
118  nbins = cms.untracked.int32(200),
119  low = cms.untracked.double(-50.0),
120  title = cms.untracked.string('time (ns)')
121  ),
122  otype = cms.untracked.string('SM'),
123  xaxis = cms.untracked.PSet(
124  edges = cms.untracked.vdouble(EaxisEdges),
125  title = cms.untracked.string('energy (GeV)')
126  ),
127  btype = cms.untracked.string('User'),
128  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing vs amplitude %(sm)s'),
129  description = cms.untracked.string('Correlation between hit timing and energy. Only hits with GOOD or OUT_OF_TIME reconstruction flags are used.')
130  ),
131  BarrelTimingVsBX = cms.untracked.PSet(
132  path = cms.untracked.string('EcalBarrel/EBTimingTask/EBTMT Timing vs BX'),
133  kind = cms.untracked.string('TProfile'),
134  otype = cms.untracked.string('EB'),
135  xaxis = cms.untracked.PSet(
136  high = cms.untracked.double(1.0*nBXBins),
137  nbins = cms.untracked.int32(nBXBins),
138  low = cms.untracked.double(0.0),
139  title = cms.untracked.string('bunch crossing'),
140  labels = cms.untracked.vstring(bxBinLabels)
141  ),
142  yaxis = cms.untracked.PSet(
143  title = cms.untracked.string('Timing (ns)')
144  ),
145  btype = cms.untracked.string('User'),
146  description = cms.untracked.string('Average hit timing in the barrel as a function of BX number.')
147  ),
148  BarrelTimingVsBXFineBinned = cms.untracked.PSet(
149  path = cms.untracked.string('EcalBarrel/EBTimingTask/EBTMT Timing vs Finely Binned BX'),
150  kind = cms.untracked.string('TProfile'),
151  otype = cms.untracked.string('EB'),
152  xaxis = cms.untracked.PSet(
153  high = cms.untracked.double(1.0*nBXBinsFine),
154  nbins = cms.untracked.int32(nBXBinsFine),
155  low = cms.untracked.double(0.0),
156  title = cms.untracked.string('bunch crossing'),
157  labels = cms.untracked.vstring(bxBinLabelsFine)
158  ),
159  yaxis = cms.untracked.PSet(
160  title = cms.untracked.string('Timing (ns)')
161  ),
162  btype = cms.untracked.string('User'),
163  description = cms.untracked.string('Average hit timing in the barrel as a finely-binned function of BX number.')
164  ),
165  TimeAmpBXm = cms.untracked.PSet(
166  kind = cms.untracked.string('TH2F'),
167  yaxis = cms.untracked.PSet(
168  high = cms.untracked.double(100.0),
169  nbins = cms.untracked.int32(100),
170  low = cms.untracked.double(0.0),
171  title = cms.untracked.string('Amplitude BX-1 [ADC]')
172  ),
173  otype = cms.untracked.string('Ecal3P'),
174  xaxis = cms.untracked.PSet(
175  high = cms.untracked.double(1000.0),
176  nbins = cms.untracked.int32(250),
177  low = cms.untracked.double(0.0),
178  title = cms.untracked.string('In-time amplitude [ADC]')
179  ),
180  btype = cms.untracked.string('User'),
181  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT in-time vs BX-1 amplitude%(suffix)s'),
182  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.')
183  ),
184  TimeAmpBXp = cms.untracked.PSet(
185  kind = cms.untracked.string('TH2F'),
186  yaxis = cms.untracked.PSet(
187  high = cms.untracked.double(100.0),
188  nbins = cms.untracked.int32(100),
189  low = cms.untracked.double(0.0),
190  title = cms.untracked.string('Amplitude BX+1 [ADC]')
191  ),
192  otype = cms.untracked.string('Ecal3P'),
193  xaxis = cms.untracked.PSet(
194  high = cms.untracked.double(1000.0),
195  nbins = cms.untracked.int32(250),
196  low = cms.untracked.double(0.0),
197  title = cms.untracked.string('In-time amplitude [ADC]')
198  ),
199  btype = cms.untracked.string('User'),
200  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT in-time vs BX+1 amplitude%(suffix)s'),
201  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.')
202  ),
203  Time1D = cms.untracked.PSet(
204  path = cms.untracked.string('%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT timing 1D %(sm)s'),
205  kind = cms.untracked.string('TH1F'),
206  otype = cms.untracked.string('SM'),
207  xaxis = cms.untracked.PSet(
208  high = cms.untracked.double(timeWindow),
209  nbins = cms.untracked.int32(100),
210  low = cms.untracked.double(-timeWindow),
211  title = cms.untracked.string('time (ns)')
212  ),
213  btype = cms.untracked.string('User'),
214  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.')
215  ),
216  Chi2 = cms.untracked.PSet(
217  path = cms.untracked.string("%(subdet)s/%(prefix)sTimingTask/%(prefix)sTMT %(subdetshortsig)s Chi2"),
218  kind = cms.untracked.string('TH1F'),
219  otype = cms.untracked.string('Ecal3P'),
220  btype = cms.untracked.string('User'),
221  xaxis = cms.untracked.PSet(
222  high = cms.untracked.double(100.),
223  low = cms.untracked.double(0.),
224  nbins = cms.untracked.int32(100)
225  ),
226  description = cms.untracked.string('Chi2 of the pulse reconstruction.')
227  )
228  )
229 )
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
How EventSelector::AcceptEvent() decides whether to accept an event for output otherwise it is excluding the probing of A single or multiple positive and the trigger will pass if any such matching triggers are PASS or EXCEPTION[A criterion thatmatches no triggers at all is detected and causes a throw.] A single negative with an expectation of appropriate bit checking in the decision and the trigger will pass if any such matching triggers are FAIL or EXCEPTION A wildcarded negative criterion that matches more than one trigger in the trigger list("!*","!HLTx*"if it matches 2 triggers or more) will accept the event if all the matching triggers are FAIL.It will reject the event if any of the triggers are PASS or EXCEPTION(this matches the behavior of"!*"before the partial wildcard feature was incorporated).Triggers which are in the READY state are completely ignored.(READY should never be returned since the trigger paths have been run