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  maxRawEnergyForLowPtEBSigma = cms.double(-1),
8  maxRawEnergyForLowPtEESigma = cms.double(1200.),
9  eleRegs = cms.PSet(
10  ecalOnlyMean = cms.PSet(
11  rangeMinLowEt = cms.double(0.2),
12  rangeMaxLowEt = cms.double(2.0),
13  rangeMinHighEt = cms.double(-1.),
14  rangeMaxHighEt = cms.double(3.0),
15  forceHighEnergyTrainingIfSaturated = cms.bool(True),
16  lowEtHighEtBoundary = cms.double(999999.),
17  ebLowEtForestName = cms.string("electron_eb_ecalOnly_1To300_0p2To2_mean"),
18  ebHighEtForestName = cms.string("electron_eb_ECALonly"),
19  eeLowEtForestName = cms.string("electron_ee_ecalOnly_1To300_0p2To2_mean"),
20  eeHighEtForestName = cms.string("electron_ee_ECALonly"),
21  ),
22  ecalOnlySigma = cms.PSet(
23  rangeMinLowEt = cms.double(0.0002),
24  rangeMaxLowEt = cms.double(0.5),
25  rangeMinHighEt = cms.double(0.0002),
26  rangeMaxHighEt = cms.double(0.5),
27  forceHighEnergyTrainingIfSaturated = cms.bool(True),
28  lowEtHighEtBoundary = cms.double(999999.),
29  ebLowEtForestName = cms.string("electron_eb_ecalOnly_1To300_0p0002To0p5_sigma"),
30  ebHighEtForestName = cms.string("electron_eb_ECALonly_var"),
31  eeLowEtForestName = cms.string("electron_ee_ecalOnly_1To300_0p0002To0p5_sigma"),
32  eeHighEtForestName = cms.string("electron_ee_ECALonly_var"),
33  ),
34  epComb = cms.PSet(
35  ecalTrkRegressionConfig = cms.PSet(
36  rangeMinLowEt = cms.double(0.2),
37  rangeMaxLowEt = cms.double(2.0),
38  rangeMinHighEt = cms.double(0.2),
39  rangeMaxHighEt = cms.double(2.0),
40  lowEtHighEtBoundary = cms.double(999999.),
41  forceHighEnergyTrainingIfSaturated = cms.bool(False),
42  ebLowEtForestName = cms.string('electron_eb_ecalTrk_1To300_0p2To2_mean'),
43  ebHighEtForestName = cms.string('electron_eb_ecalTrk_1To300_0p2To2_mean'),
44  eeLowEtForestName = cms.string('electron_ee_ecalTrk_1To300_0p2To2_mean'),
45  eeHighEtForestName = cms.string('electron_ee_ecalTrk_1To300_0p2To2_mean'),
46  ),
47  ecalTrkRegressionUncertConfig = cms.PSet(
48  rangeMinLowEt = cms.double(0.0002),
49  rangeMaxLowEt = cms.double(0.5),
50  rangeMinHighEt = cms.double(0.0002),
51  rangeMaxHighEt = cms.double(0.5),
52  lowEtHighEtBoundary = cms.double(999999.),
53  forceHighEnergyTrainingIfSaturated = cms.bool(False),
54  ebLowEtForestName = cms.string('electron_eb_ecalTrk_1To300_0p0002To0p5_sigma'),
55  ebHighEtForestName = cms.string('electron_eb_ecalTrk_1To300_0p0002To0p5_sigma'),
56  eeLowEtForestName = cms.string('electron_ee_ecalTrk_1To300_0p0002To0p5_sigma'),
57  eeHighEtForestName = cms.string('electron_ee_ecalTrk_1To300_0p0002To0p5_sigma'),
58  ),
59  maxEcalEnergyForComb=cms.double(200.),
60  minEOverPForComb=cms.double(0.025),
61  maxEPDiffInSigmaForComb=cms.double(15.),
62  maxRelTrkMomErrForComb=cms.double(10.),
63  )
64  ),
65  phoRegs = cms.PSet(
66  ecalOnlyMean = cms.PSet(
67  rangeMinLowEt = cms.double(0.2),
68  rangeMaxLowEt = cms.double(2.0),
69  rangeMinHighEt = cms.double(-1.),
70  rangeMaxHighEt = cms.double(3.0),
71  forceHighEnergyTrainingIfSaturated = cms.bool(True),
72  lowEtHighEtBoundary = cms.double(999999.),
73  ebLowEtForestName = cms.string("photon_eb_ecalOnly_5To300_0p2To2_mean"),
74  ebHighEtForestName = cms.string("photon_eb_ECALonly"),
75  eeLowEtForestName = cms.string("photon_ee_ecalOnly_5To300_0p2To2_mean"),
76  eeHighEtForestName = cms.string("photon_ee_ECALonly"),
77  ),
78  ecalOnlySigma = cms.PSet(
79  rangeMinLowEt = cms.double(0.0002),
80  rangeMaxLowEt = cms.double(0.5),
81  rangeMinHighEt = cms.double(0.0002),
82  rangeMaxHighEt = cms.double(0.5),
83  forceHighEnergyTrainingIfSaturated = cms.bool(True),
84  lowEtHighEtBoundary = cms.double(999999.),
85  ebLowEtForestName = cms.string("photon_eb_ecalOnly_5To300_0p0002To0p5_sigma"),
86  ebHighEtForestName = cms.string("photon_eb_ECALonly_var"),
87  eeLowEtForestName = cms.string("photon_ee_ecalOnly_5To300_0p0002To0p5_sigma"),
88  eeHighEtForestName = cms.string("photon_ee_ECALonly_var"),
89  ),
90  )
91 )
92 
93 regressionModifier94X = \
94  cms.PSet( modifierName = cms.string('EGRegressionModifierV2'),
95 
96  rhoCollection = cms.InputTag('fixedGridRhoFastjetAllTmp'),
97 
98  electron_config = cms.PSet( # EB, EE
99  regressionKey = cms.vstring('electron_eb_ECALonly_lowpt', 'electron_eb_ECALonly', 'electron_ee_ECALonly_lowpt', 'electron_ee_ECALonly',
100  'electron_eb_ECALTRK_lowpt', 'electron_eb_ECALTRK', 'electron_ee_ECALTRK_lowpt', 'electron_ee_ECALTRK'),
101  uncertaintyKey = cms.vstring('electron_eb_ECALonly_lowpt_var', 'electron_eb_ECALonly_var', 'electron_ee_ECALonly_lowpt_var', 'electron_ee_ECALonly_var',
102  'electron_eb_ECALTRK_lowpt_var', 'electron_eb_ECALTRK_var', 'electron_ee_ECALTRK_lowpt_var', 'electron_ee_ECALTRK_var'),
103  ),
104 
105  photon_config = cms.PSet( # EB, EE
106  regressionKey = cms.vstring('photon_eb_ECALonly_lowpt', 'photon_eb_ECALonly', 'photon_ee_ECALonly_lowpt', 'photon_ee_ECALonly'),
107  uncertaintyKey = cms.vstring('photon_eb_ECALonly_lowpt_var', 'photon_eb_ECALonly_var', 'photon_ee_ECALonly_lowpt_var', 'photon_ee_ECALonly_var'),
108  ),
109 
110  lowEnergy_ECALonlyThr = cms.double(99999.),
111  lowEnergy_ECALTRKThr = cms.double(50.),
112  highEnergy_ECALTRKThr = cms.double(200.),
113  eOverP_ECALTRKThr = cms.double(0.025),
114  epDiffSig_ECALTRKThr = cms.double(15.),
115  epSig_ECALTRKThr = cms.double(10.),
116  forceHighEnergyEcalTrainingIfSaturated = cms.bool(True)
117 
118  )
119 
120 
121 regressionModifier80X = \
122  cms.PSet( modifierName = cms.string('EGRegressionModifierV1'),
123  autoDetectBunchSpacing = cms.bool(True),
124  applyExtraHighEnergyProtection = cms.bool(True),
125  bunchSpacingTag = cms.InputTag("bunchSpacingProducer"),
126  manualBunchSpacing = cms.int32(50),
127  rhoCollection = cms.InputTag("fixedGridRhoFastjetAll"),
128  vertexCollection = cms.InputTag("offlinePrimaryVertices"),
129  electron_config = cms.PSet( # EB, EE
130  regressionKey_25ns = cms.vstring('gedelectron_EBCorrection_25ns', 'gedelectron_EECorrection_25ns'),
131  uncertaintyKey_25ns = cms.vstring('gedelectron_EBUncertainty_25ns', 'gedelectron_EEUncertainty_25ns'),
132  combinationKey_25ns = cms.string('gedelectron_p4combination_25ns'),
133 
134  regressionKey_50ns = cms.vstring('gedelectron_EBCorrection_50ns', 'gedelectron_EECorrection_50ns'),
135  uncertaintyKey_50ns = cms.vstring('gedelectron_EBUncertainty_50ns', 'gedelectron_EEUncertainty_50ns'),
136  combinationKey_50ns = cms.string('gedelectron_p4combination_50ns'),
137  ),
138 
139  photon_config = cms.PSet( # EB, EE
140  regressionKey_25ns = cms.vstring('gedphoton_EBCorrection_25ns', 'gedphoton_EECorrection_25ns'),
141  uncertaintyKey_25ns = cms.vstring('gedphoton_EBUncertainty_25ns', 'gedphoton_EEUncertainty_25ns'),
142 
143  regressionKey_50ns = cms.vstring('gedphoton_EBCorrection_50ns', 'gedphoton_EECorrection_50ns'),
144  uncertaintyKey_50ns = cms.vstring('gedphoton_EBUncertainty_50ns', 'gedphoton_EEUncertainty_50ns'),
145  )
146  )
147 
148 #by default we use the regression inappropriate to the main purpose of this release
149 #life is simplier that way
150 regressionModifier = regressionModifier94X.clone()
151 
152 
153 from Configuration.Eras.Modifier_run2_egamma_2017_cff import run2_egamma_2017
154 run2_egamma_2017.toReplaceWith(regressionModifier,regressionModifier106XUL)
155 
156 from Configuration.Eras.Modifier_run2_egamma_2018_cff import run2_egamma_2018
157 run2_egamma_2018.toReplaceWith(regressionModifier,regressionModifier106XUL)