CMS 3D CMS Logo

HBHEPhase1Reconstructor_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 import RecoLocalCalo.HcalRecProducers.HBHEMethod3Parameters_cfi as method3
3 import RecoLocalCalo.HcalRecProducers.HBHEMethod2Parameters_cfi as method2
4 import RecoLocalCalo.HcalRecProducers.HBHEMethod0Parameters_cfi as method0
5 import RecoLocalCalo.HcalRecProducers.HBHEPulseShapeFlagSetter_cfi as pulseShapeFlag
6 import RecoLocalCalo.HcalRecProducers.HBHEStatusBitSetter_cfi as hbheStatusFlag
7 
8 hbheprereco = cms.EDProducer(
9  "HBHEPhase1Reconstructor",
10 
11  # Label for the input HBHEDigiCollection, and flag indicating
12  # whether we should process this collection
13  digiLabelQIE8 = cms.InputTag("hcalDigis"),
14  processQIE8 = cms.bool(True),
15 
16  # Label for the input QIE11DigiCollection, and flag indicating
17  # whether we should process this collection
18  digiLabelQIE11 = cms.InputTag("hcalDigis"),
19  processQIE11 = cms.bool(True),
20 
21  # Get the "sample of interest" index from DB?
22  # If not, it is taken from the dataframe.
23  tsFromDB = cms.bool(False),
24 
25  # Use the HcalRecoParam structure from DB inside
26  # the reconstruction algorithm?
27  recoParamsFromDB = cms.bool(True),
28 
29  # include SiPM dark current contribution in pedestal mean
30  saveEffectivePedestal = cms.bool(False),
31 
32  # Drop zero-suppressed channels?
33  dropZSmarkedPassed = cms.bool(True),
34 
35  # Flag indicating whether we should produce HBHERecHitCollection
36  makeRecHits = cms.bool(True),
37 
38  # Flag indicating whether we should produce HBHEChannelInfoCollection
39  saveInfos = cms.bool(False),
40 
41  # Flag indicating whether we should include HBHEChannelInfo objects
42  # into HBHEChannelInfoCollection despite the fact that the channels
43  # are either tagged bad in DB of zero-suppressed. Note that the rechit
44  # collection will not include such channels even if this flag is set.
45  saveDroppedInfos = cms.bool(False),
46 
47  # Parameters which define how we calculate the charge for the basic SiPM
48  # nonlinearity correction. To sum up the charge in all time slices
49  # (e.g., for cosmics), set sipmQTSShift to -100 and sipmQNTStoSum to 200.
50  sipmQTSShift = cms.int32(0),
51  sipmQNTStoSum = cms.int32(3),
52 
53  # Configure the reconstruction algorithm
54  algorithm = cms.PSet(
55  # Parameters for "Method 3" (non-keyword arguments have to go first)
56  method3.m3Parameters,
57  method2.m2Parameters,
58  method0.m0Parameters,
59 
60  Class = cms.string("SimpleHBHEPhase1Algo"),
61 
62  # Time shift (in ns) to add to TDC timing (for QIE11)
63  tdcTimeShift = cms.double(0.0),
64 
65  # Parameters for "Method 0"
66  firstSampleShift = cms.int32(0),
67 
68  # Use "Method 2"?
69  useM2 = cms.bool(True),
70 
71  # Use "Method 3"?
72  useM3 = cms.bool(True)
73  ),
74 
75  # Reconstruction algorithm configuration data to fetch from DB, if any
76  algoConfigClass = cms.string(""),
77 
78  # Turn rechit status bit setters on/off
79  setNegativeFlagsQIE8 = cms.bool(True),
80  setNegativeFlagsQIE11 = cms.bool(False),
81  setNoiseFlagsQIE8 = cms.bool(True),
82  setNoiseFlagsQIE11 = cms.bool(False),
83  setPulseShapeFlagsQIE8 = cms.bool(True),
84  setPulseShapeFlagsQIE11 = cms.bool(False),
85  setLegacyFlagsQIE8 = cms.bool(True),
86  setLegacyFlagsQIE11 = cms.bool(False),
87 
88  # Parameter sets configuring rechit status bit setters
89  flagParametersQIE8 = cms.PSet(
90  hbheStatusFlag.qie8Config
91  ),
92  flagParametersQIE11 = cms.PSet(),
93 
94  pulseShapeParametersQIE8 = cms.PSet(
95  pulseShapeFlag.qie8Parameters
96  ),
97  pulseShapeParametersQIE11 = cms.PSet()
98 )
99 
100 # Disable the "triangle peak fit" and the corresponding HBHETriangleNoise flag
101 hbheprereco.pulseShapeParametersQIE8.TrianglePeakTS = cms.uint32(10000)
102 
103 from Configuration.Eras.Modifier_phase2_hcal_cff import phase2_hcal
104 phase2_hcal.toModify(hbheprereco, saveEffectivePedestal = cms.bool(True))