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