CMS 3D CMS Logo

HFPhase1Reconstructor_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 hfreco = cms.EDProducer("HFPhase1Reconstructor",
4  # Label for the input HFPreRecHitCollection
5  inputLabel = cms.InputTag("hfprereco"),
6 
7  # Change the following to True in order to use the channel
8  # status from the DB
9  useChannelQualityFromDB = cms.bool(False),
10 
11  # Change the following to True when the status becomes
12  # available in the DB for both anodes. If this parameter
13  # is set to False then it is assumed that the status of
14  # both anodes is given by the channel at depth 1 and 2.
15  checkChannelQualityForDepth3and4 = cms.bool(False),
16 
17  # Configure the reconstruction algorithm
18  algorithm = cms.PSet(
19  Class = cms.string("HFFlexibleTimeCheck"),
20 
21  # Timing cuts: pass everything for now
22  tlimits = cms.vdouble(-1000.0, 1000.0,
23  -1000.0, 1000.0),
24 
25  # Linear mapping of the array with dimensions [13][2].
26  # The first dimension is 2*HFAnodeStatus::N_POSSIBLE_STATES - 1.
27  energyWeights = cms.vdouble(
28  1.0, 1.0, # {OK, OK} anode status
29  1.0, 0.0, # {OK, NOT_DUAL}
30  1.0, 0.0, # {OK, NOT_READ_OUT}
31  2.0, 0.0, # {OK, HARDWARE_ERROR}
32  2.0, 0.0, # {OK, FLAGGED_BAD}
33  2.0, 0.0, # {OK, FAILED_TIMING}
34  1.0, 0.0, # {OK, FAILED_OTHER}
35  0.0, 1.0, # {NOT_DUAL, OK}
36  0.0, 1.0, # {NOT_READ_OUT, OK}
37  0.0, 2.0, # {HARDWARE_ERROR, OK}
38  0.0, 2.0, # {FLAGGED_BAD, OK}
39  0.0, 2.0, # {FAILED_TIMING, OK}
40  0.0, 1.0 # {FAILED_OTHER, OK}
41  ),
42 
43  # Into which byte (0, 1, or 2) of the aux word the sample
44  # of interest ADC will be placed?
45  soiPhase = cms.uint32(1),
46 
47  # Time shift added to all "normal" QIE10 TDC time measurements
48  timeShift = cms.double(0.0),
49 
50  # Rise and fall time of the rechit will be set to these values
51  # if neither anode has valid TDC info
52  triseIfNoTDC = cms.double(-100.0),
53  tfallIfNoTDC = cms.double(-101.0),
54 
55  # Do not construct rechits with problems
56  rejectAllFailures = cms.bool(True)
57  ),
58 
59  # Reconstruction algorithm data to fetch from DB, if any
60  algoConfigClass = cms.string("HFPhase1PMTParams"),
61 
62  # Turn on/off the noise cleanup algorithms
63  setNoiseFlags = cms.bool(False),
64 
65  # Parameters for the S9S1 test.
66  #
67  # optimumSlopes are slopes for each of the |ieta| values
68  # 29, 30, .... ,41 (although |ieta|=29 is not used in
69  # current S9S1 formulation)
70  #
71  # energy and ET params are thresholds for each |ieta|
72  #
73  S9S1stat = cms.PSet(
74  # WARNING! ONLY LONG PARAMETERS ARE USED IN DEFAULT RECO; SHORT S9S1 IS NOT USED!
75  short_optimumSlope = cms.vdouble([-99999,0.0164905,0.0238698,0.0321383,
76  0.041296,0.0513428,0.0622789,0.0741041,
77  0.0868186,0.100422,0.135313,0.136289,
78  0.0589927]),
79 
80  # Short energy cut is 129.9 - 6.61*|ieta|+0.1153*|ieta|^2
81  shortEnergyParams = cms.vdouble([35.1773, 35.37, 35.7933, 36.4472,
82  37.3317, 38.4468, 39.7925, 41.3688,
83  43.1757, 45.2132, 47.4813, 49.98,
84  52.7093]),
85  shortETParams = cms.vdouble([0,0,0,0,
86  0,0,0,0,
87  0,0,0,0,0]),
88 
89  long_optimumSlope = cms.vdouble([-99999,0.0164905,0.0238698,0.0321383,
90  0.041296,0.0513428,0.0622789,0.0741041,
91  0.0868186,0.100422,0.135313,0.136289,
92  0.0589927]),
93 
94  # Long energy cut is 162.4-10.9*abs(ieta)+0.21*ieta*ieta
95  longEnergyParams = cms.vdouble([43.5, 45.7, 48.32, 51.36,
96  54.82, 58.7, 63.0, 67.72,
97  72.86, 78.42, 84.4, 90.8,
98  97.62]),
99  longETParams = cms.vdouble([0,0,0,0,
100  0,0,0,0,
101  0,0,0,0,0]),
102 
103  HcalAcceptSeverityLevel = cms.int32(9), # allow hits with severity up to AND INCLUDING 9
104  isS8S1 = cms.bool(False),
105  ),
106 
107  # Parameters for the S8S1 test. Sets the HFS8S1Ratio Bit (bit 3).
108  #
109  # energy and ET params are coefficients for
110  # energy/ET thresholds, parameterized in ieta
111  #
112  S8S1stat = cms.PSet(
113  short_optimumSlope = cms.vdouble([0.30, # ieta=29 is a special case
114  0.10, 0.10, 0.10, 0.10,
115  0.10, 0.10, 0.10, 0.10,
116  0.10, 0.10, 0.10, 0.10]),
117 
118  # Short energy cut is 40 for ieta=29, 100 otherwise
119  shortEnergyParams = cms.vdouble([40,
120  100,100,100,100,
121  100,100,100,100,
122  100,100,100,100]),
123  shortETParams = cms.vdouble([0,0,0,0,
124  0,0,0,0,
125  0,0,0,0,0]),
126 
127  long_optimumSlope = cms.vdouble([0.30, # ieta=29 is a special case
128  0.10, 0.10, 0.10, 0.10,
129  0.10, 0.10, 0.10, 0.10,
130  0.10, 0.10, 0.10, 0.10]),
131 
132  # Long energy cut is 40 for ieta=29, 100 otherwise
133  longEnergyParams = cms.vdouble([40,
134  100,100,100,100,
135  100,100,100,100,
136  100,100,100,100]),
137  longETParams = cms.vdouble([0,0,0,0,
138  0,0,0,0,
139  0,0,0,0,0]),
140 
141  HcalAcceptSeverityLevel = cms.int32(9), # allow hits with severity up to AND INCLUDING 9
142  isS8S1 = cms.bool(True),
143  ),
144 
145  # Parameters for the Parameterized Energy Threshold (PET) test.
146  #
147  # short_R, long_R are coefficients of R threshold,
148  # parameterized in *ENERGY*: R_thresh = [0]+[1]*energy+[2]*energy^2+...
149  #
150  # As of March 2010, the R threshold is a simple fixed value:
151  # R>0.98, with separate params for |ieta|=29
152  #
153  # Energy and ET params are energy and ET cuts for each |ieta| 29 -> 41
154  #
155  PETstat = cms.PSet(
156  short_R = cms.vdouble([0.8]), # new default ratio cut: R>0.8
157 
158  # Short energy cut is 129.9 - 6.61*|ieta|+0.1153*|ieta|^2
159  shortEnergyParams = cms.vdouble([35.1773, 35.37, 35.7933, 36.4472,
160  37.3317, 38.4468, 39.7925, 41.3688,
161  43.1757, 45.2132, 47.4813, 49.98,
162  52.7093]),
163  shortETParams = cms.vdouble([0,0,0,0,
164  0,0,0,0,
165  0,0,0,0,0]),
166 
167  long_R = cms.vdouble([0.98]), # default ratio cut: R>0.98
168 
169  # Long energy cut is 162.4-10.9*abs(ieta)+0.21*ieta*ieta
170  longEnergyParams = cms.vdouble([43.5, 45.7, 48.32, 51.36,
171  54.82, 58.7, 63.0, 67.72,
172  72.86, 78.42, 84.4, 90.8,
173  97.62]),
174  longETParams = cms.vdouble([0,0,0,0,
175  0,0,0,0,
176  0,0,0,0,0]),
177 
178  short_R_29 = cms.vdouble([0.8]),
179  long_R_29 = cms.vdouble([0.8]), # should move from 0.98 to 0.8?
180  HcalAcceptSeverityLevel = cms.int32(9), # allow hits with severity up to AND INCLUDING 9
181  )
182 )