CMS 3D CMS Logo

regressionModifier_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 regressionModifier106XUL = cms.PSet(
4  modifierName = cms.string('EGRegressionModifierV3'),
5  rhoTag = cms.InputTag('fixedGridRhoFastjetAllTmp'),
6  useClosestToCentreSeedCrysDef = cms.bool(False),
7  useBuggedHOverE = cms.bool(False),
8  maxRawEnergyForLowPtEBSigma = cms.double(-1),
9  maxRawEnergyForLowPtEESigma = cms.double(1200.),
10  eleRegs = cms.PSet(
11  ecalOnlyMean = cms.PSet(
12  rangeMinLowEt = cms.double(0.2),
13  rangeMaxLowEt = cms.double(2.0),
14  rangeMinHighEt = cms.double(-1.),
15  rangeMaxHighEt = cms.double(3.0),
16  forceHighEnergyTrainingIfSaturated = cms.bool(True),
17  lowEtHighEtBoundary = cms.double(999999.),
18  ebLowEtForestName = cms.ESInputTag("", "electron_eb_ecalOnly_1To300_0p2To2_mean"),
19  ebHighEtForestName = cms.ESInputTag("", "electron_eb_ECALonly"),
20  eeLowEtForestName = cms.ESInputTag("", "electron_ee_ecalOnly_1To300_0p2To2_mean"),
21  eeHighEtForestName = cms.ESInputTag("", "electron_ee_ECALonly"),
22  ),
23  ecalOnlySigma = cms.PSet(
24  rangeMinLowEt = cms.double(0.0002),
25  rangeMaxLowEt = cms.double(0.5),
26  rangeMinHighEt = cms.double(0.0002),
27  rangeMaxHighEt = cms.double(0.5),
28  forceHighEnergyTrainingIfSaturated = cms.bool(True),
29  lowEtHighEtBoundary = cms.double(999999.),
30  ebLowEtForestName = cms.ESInputTag("", "electron_eb_ecalOnly_1To300_0p0002To0p5_sigma"),
31  ebHighEtForestName = cms.ESInputTag("", "electron_eb_ECALonly_var"),
32  eeLowEtForestName = cms.ESInputTag("", "electron_ee_ecalOnly_1To300_0p0002To0p5_sigma"),
33  eeHighEtForestName = cms.ESInputTag("", "electron_ee_ECALonly_var"),
34  ),
35  epComb = cms.PSet(
36  ecalTrkRegressionConfig = cms.PSet(
37  rangeMinLowEt = cms.double(0.2),
38  rangeMaxLowEt = cms.double(2.0),
39  rangeMinHighEt = cms.double(0.2),
40  rangeMaxHighEt = cms.double(2.0),
41  lowEtHighEtBoundary = cms.double(999999.),
42  forceHighEnergyTrainingIfSaturated = cms.bool(False),
43  ebLowEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To300_0p2To2_mean'),
44  ebHighEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To300_0p2To2_mean'),
45  eeLowEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To300_0p2To2_mean'),
46  eeHighEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To300_0p2To2_mean'),
47  ),
48  ecalTrkRegressionUncertConfig = cms.PSet(
49  rangeMinLowEt = cms.double(0.0002),
50  rangeMaxLowEt = cms.double(0.5),
51  rangeMinHighEt = cms.double(0.0002),
52  rangeMaxHighEt = cms.double(0.5),
53  lowEtHighEtBoundary = cms.double(999999.),
54  forceHighEnergyTrainingIfSaturated = cms.bool(False),
55  ebLowEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To300_0p0002To0p5_sigma'),
56  ebHighEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To300_0p0002To0p5_sigma'),
57  eeLowEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To300_0p0002To0p5_sigma'),
58  eeHighEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To300_0p0002To0p5_sigma'),
59  ),
60  maxEcalEnergyForComb=cms.double(200.),
61  minEOverPForComb=cms.double(0.025),
62  maxEPDiffInSigmaForComb=cms.double(15.),
63  maxRelTrkMomErrForComb=cms.double(10.),
64  )
65  ),
66  phoRegs = cms.PSet(
67  ecalOnlyMean = cms.PSet(
68  rangeMinLowEt = cms.double(0.2),
69  rangeMaxLowEt = cms.double(2.0),
70  rangeMinHighEt = cms.double(-1.),
71  rangeMaxHighEt = cms.double(3.0),
72  forceHighEnergyTrainingIfSaturated = cms.bool(True),
73  lowEtHighEtBoundary = cms.double(999999.),
74  ebLowEtForestName = cms.ESInputTag("", "photon_eb_ecalOnly_5To300_0p2To2_mean"),
75  ebHighEtForestName = cms.ESInputTag("", "photon_eb_ECALonly"),
76  eeLowEtForestName = cms.ESInputTag("", "photon_ee_ecalOnly_5To300_0p2To2_mean"),
77  eeHighEtForestName = cms.ESInputTag("", "photon_ee_ECALonly"),
78  ),
79  ecalOnlySigma = cms.PSet(
80  rangeMinLowEt = cms.double(0.0002),
81  rangeMaxLowEt = cms.double(0.5),
82  rangeMinHighEt = cms.double(0.0002),
83  rangeMaxHighEt = cms.double(0.5),
84  forceHighEnergyTrainingIfSaturated = cms.bool(True),
85  lowEtHighEtBoundary = cms.double(999999.),
86  ebLowEtForestName = cms.ESInputTag("", "photon_eb_ecalOnly_5To300_0p0002To0p5_sigma"),
87  ebHighEtForestName = cms.ESInputTag("", "photon_eb_ECALonly_var"),
88  eeLowEtForestName = cms.ESInputTag("", "photon_ee_ecalOnly_5To300_0p0002To0p5_sigma"),
89  eeHighEtForestName = cms.ESInputTag("", "photon_ee_ECALonly_var"),
90  ),
91  )
92 )
93 
94 regressionModifier103XLowPtPho = cms.PSet(
95  modifierName = cms.string('EGRegressionModifierV3'),
96  rhoTag = cms.InputTag('fixedGridRhoFastjetAllTmp'),
97  useClosestToCentreSeedCrysDef = cms.bool(False),
98  useBuggedHOverE = cms.bool(False),
99  maxRawEnergyForLowPtEBSigma = cms.double(-1),
100  maxRawEnergyForLowPtEESigma = cms.double(1200.),
101  eleRegs = cms.PSet(
102  ecalOnlyMean = cms.PSet(
103  rangeMinLowEt = cms.double(0.2),
104  rangeMaxLowEt = cms.double(2.0),
105  rangeMinHighEt = cms.double(-1.),
106  rangeMaxHighEt = cms.double(3.0),
107  forceHighEnergyTrainingIfSaturated = cms.bool(True),
108  lowEtHighEtBoundary = cms.double(999999.),
109  ebLowEtForestName = cms.ESInputTag("", "electron_eb_ecalOnly_1To20_0p2To2_mean"),
110  ebHighEtForestName = cms.ESInputTag("", "electron_eb_ECALonly"),
111  eeLowEtForestName = cms.ESInputTag("", "electron_ee_ecalOnly_1To20_0p2To2_mean"),
112  eeHighEtForestName = cms.ESInputTag("", "electron_ee_ECALonly"),
113  ),
114  ecalOnlySigma = cms.PSet(
115  rangeMinLowEt = cms.double(0.0002),
116  rangeMaxLowEt = cms.double(0.5),
117  rangeMinHighEt = cms.double(0.0002),
118  rangeMaxHighEt = cms.double(0.5),
119  forceHighEnergyTrainingIfSaturated = cms.bool(True),
120  lowEtHighEtBoundary = cms.double(999999.),
121  ebLowEtForestName = cms.ESInputTag("", "electron_eb_ecalOnly_1To20_0p0002To0p5_sigma"),
122  ebHighEtForestName = cms.ESInputTag("", "electron_eb_ECALonly_var"),
123  eeLowEtForestName = cms.ESInputTag("", "electron_ee_ecalOnly_1To20_0p0002To0p5_sigma"),
124  eeHighEtForestName = cms.ESInputTag("", "electron_ee_ECALonly_var"),
125  ),
126  epComb = cms.PSet(
127  ecalTrkRegressionConfig = cms.PSet(
128  rangeMinLowEt = cms.double(0.2),
129  rangeMaxLowEt = cms.double(2.0),
130  rangeMinHighEt = cms.double(0.2),
131  rangeMaxHighEt = cms.double(2.0),
132  lowEtHighEtBoundary = cms.double(999999.),
133  forceHighEnergyTrainingIfSaturated = cms.bool(False),
134  ebLowEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To20_0p2To2_mean'),
135  ebHighEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To20_0p2To2_mean'),
136  eeLowEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To20_0p2To2_mean'),
137  eeHighEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To20_0p2To2_mean'),
138  ),
139  ecalTrkRegressionUncertConfig = cms.PSet(
140  rangeMinLowEt = cms.double(0.0002),
141  rangeMaxLowEt = cms.double(0.5),
142  rangeMinHighEt = cms.double(0.0002),
143  rangeMaxHighEt = cms.double(0.5),
144  lowEtHighEtBoundary = cms.double(999999.),
145  forceHighEnergyTrainingIfSaturated = cms.bool(False),
146  ebLowEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To20_0p0002To0p5_sigma'),
147  ebHighEtForestName = cms.ESInputTag("", 'electron_eb_ecalTrk_1To20_0p0002To0p5_sigma'),
148  eeLowEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To20_0p0002To0p5_sigma'),
149  eeHighEtForestName = cms.ESInputTag("", 'electron_ee_ecalTrk_1To20_0p0002To0p5_sigma'),
150  ),
151  maxEcalEnergyForComb=cms.double(200.),
152  minEOverPForComb=cms.double(0.025),
153  maxEPDiffInSigmaForComb=cms.double(15.),
154  maxRelTrkMomErrForComb=cms.double(10.),
155  )
156  ),
157  phoRegs = cms.PSet(
158  ecalOnlyMean = cms.PSet(
159  rangeMinLowEt = cms.double(0.2),
160  rangeMaxLowEt = cms.double(2.0),
161  rangeMinHighEt = cms.double(-1.),
162  rangeMaxHighEt = cms.double(3.0),
163  forceHighEnergyTrainingIfSaturated = cms.bool(True),
164  lowEtHighEtBoundary = cms.double(999999.),
165  ebLowEtForestName = cms.ESInputTag("", "photon_eb_ecalOnly_1To20_0p2To2_mean"),
166  ebHighEtForestName = cms.ESInputTag("", "photon_eb_ECALonly"),
167  eeLowEtForestName = cms.ESInputTag("", "photon_ee_ecalOnly_1To20_0p2To2_mean"),
168  eeHighEtForestName = cms.ESInputTag("", "photon_ee_ECALonly"),
169  ),
170  ecalOnlySigma = cms.PSet(
171  rangeMinLowEt = cms.double(0.0002),
172  rangeMaxLowEt = cms.double(0.5),
173  rangeMinHighEt = cms.double(0.0002),
174  rangeMaxHighEt = cms.double(0.5),
175  forceHighEnergyTrainingIfSaturated = cms.bool(True),
176  lowEtHighEtBoundary = cms.double(999999.),
177  ebLowEtForestName = cms.ESInputTag("", "photon_eb_ecalOnly_1To20_0p0002To0p5_sigma"),
178  ebHighEtForestName = cms.ESInputTag("", "photon_eb_ECALonly_var"),
179  eeLowEtForestName = cms.ESInputTag("", "photon_ee_ecalOnly_1To20_0p0002To0p5_sigma"),
180  eeHighEtForestName = cms.ESInputTag("", "photon_ee_ECALonly_var"),
181  ),
182  )
183 )
184 
185 regressionModifier94X = \
186  cms.PSet( modifierName = cms.string('EGRegressionModifierV2'),
187 
188  rhoCollection = cms.InputTag('fixedGridRhoFastjetAllTmp'),
189 
190  electron_config = cms.PSet( # EB, EE
191  regressionKey = cms.vstring('electron_eb_ECALonly_lowpt', 'electron_eb_ECALonly', 'electron_ee_ECALonly_lowpt', 'electron_ee_ECALonly',
192  'electron_eb_ECALTRK_lowpt', 'electron_eb_ECALTRK', 'electron_ee_ECALTRK_lowpt', 'electron_ee_ECALTRK'),
193  uncertaintyKey = cms.vstring('electron_eb_ECALonly_lowpt_var', 'electron_eb_ECALonly_var', 'electron_ee_ECALonly_lowpt_var', 'electron_ee_ECALonly_var',
194  'electron_eb_ECALTRK_lowpt_var', 'electron_eb_ECALTRK_var', 'electron_ee_ECALTRK_lowpt_var', 'electron_ee_ECALTRK_var'),
195  ),
196 
197  photon_config = cms.PSet( # EB, EE
198  regressionKey = cms.vstring('photon_eb_ECALonly_lowpt', 'photon_eb_ECALonly', 'photon_ee_ECALonly_lowpt', 'photon_ee_ECALonly'),
199  uncertaintyKey = cms.vstring('photon_eb_ECALonly_lowpt_var', 'photon_eb_ECALonly_var', 'photon_ee_ECALonly_lowpt_var', 'photon_ee_ECALonly_var'),
200  ),
201 
202  lowEnergy_ECALonlyThr = cms.double(99999.),
203  lowEnergy_ECALTRKThr = cms.double(50.),
204  highEnergy_ECALTRKThr = cms.double(200.),
205  eOverP_ECALTRKThr = cms.double(0.025),
206  epDiffSig_ECALTRKThr = cms.double(15.),
207  epSig_ECALTRKThr = cms.double(10.),
208  forceHighEnergyEcalTrainingIfSaturated = cms.bool(True)
209 
210  )
211 
212 
213 regressionModifier80X = \
214  cms.PSet( modifierName = cms.string('EGRegressionModifierV1'),
215  autoDetectBunchSpacing = cms.bool(True),
216  applyExtraHighEnergyProtection = cms.bool(True),
217  bunchSpacingTag = cms.InputTag("bunchSpacingProducer"),
218  manualBunchSpacing = cms.int32(50),
219  rhoCollection = cms.InputTag("fixedGridRhoFastjetAll"),
220  vertexCollection = cms.InputTag("offlinePrimaryVertices"),
221  electron_config = cms.PSet( # EB, EE
222  regressionKey_25ns = cms.vstring('gedelectron_EBCorrection_25ns', 'gedelectron_EECorrection_25ns'),
223  uncertaintyKey_25ns = cms.vstring('gedelectron_EBUncertainty_25ns', 'gedelectron_EEUncertainty_25ns'),
224  combinationKey_25ns = cms.ESInputTag("", 'gedelectron_p4combination_25ns'),
225 
226  regressionKey_50ns = cms.vstring('gedelectron_EBCorrection_50ns', 'gedelectron_EECorrection_50ns'),
227  uncertaintyKey_50ns = cms.vstring('gedelectron_EBUncertainty_50ns', 'gedelectron_EEUncertainty_50ns'),
228  combinationKey_50ns = cms.ESInputTag("", 'gedelectron_p4combination_50ns'),
229  ),
230 
231  photon_config = cms.PSet( # EB, EE
232  regressionKey_25ns = cms.vstring('gedphoton_EBCorrection_25ns', 'gedphoton_EECorrection_25ns'),
233  uncertaintyKey_25ns = cms.vstring('gedphoton_EBUncertainty_25ns', 'gedphoton_EEUncertainty_25ns'),
234 
235  regressionKey_50ns = cms.vstring('gedphoton_EBCorrection_50ns', 'gedphoton_EECorrection_50ns'),
236  uncertaintyKey_50ns = cms.vstring('gedphoton_EBUncertainty_50ns', 'gedphoton_EEUncertainty_50ns'),
237  )
238  )
239 
240 #by default we use the regression inappropriate to the main purpose of this release
241 #life is simplier that way
242 regressionModifier = regressionModifier94X.clone()
243 regressionModifierRun2 = regressionModifier106XUL.clone()
244 
245 from Configuration.Eras.Modifier_run2_egamma_2016_cff import run2_egamma_2016
246 from Configuration.Eras.Modifier_run2_egamma_2017_cff import run2_egamma_2017
247 from Configuration.Eras.Modifier_run2_egamma_2018_cff import run2_egamma_2018
248 
249 (run2_egamma_2016 | run2_egamma_2017 | run2_egamma_2018).toReplaceWith(regressionModifier,regressionModifierRun2)
250 
251 regressionModifierRun3 = regressionModifierRun2.clone(
252  eleRegs = dict(
253  ecalOnlyMean = dict(
254  rangeMinHighEt = 0.2,
255  rangeMaxHighEt = 2.0
256  )
257  ),
258  phoRegs = dict(
259  ecalOnlyMean = dict(
260  rangeMinHighEt = 0.2,
261  rangeMaxHighEt = 2.0
262  )
263  )
264 )
265 
266 from Configuration.Eras.Modifier_run3_egamma_cff import run3_egamma
267 run3_egamma.toReplaceWith(regressionModifier,regressionModifierRun3)
268 
269 from Configuration.ProcessModifiers.egamma_lowPt_exclusive_cff import egamma_lowPt_exclusive
270 egamma_lowPt_exclusive.toReplaceWith(regressionModifier,regressionModifier103XLowPtPho)