CMS 3D CMS Logo

gedGsfElectrons_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
5 
6 from RecoEgamma.EgammaIsolationAlgos.electronTrackIsolations_cfi import trkIsol03CfgV1,trkIsol04CfgV1
7 
8 
9 gedGsfElectronsTmp = cms.EDProducer("GEDGsfElectronProducer",
10 
11  # input collections
12  previousGsfElectronsTag = cms.InputTag(""),
13  pflowGsfElectronsTag = cms.InputTag(""),
14  gsfElectronCoresTag = cms.InputTag("gedGsfElectronCores"),
15  barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
16  endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
17  hcalTowers = cms.InputTag("towerMaker"),
18  pfMvaTag = cms.InputTag(""),
19  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
20  beamSpotTag = cms.InputTag("offlineBeamSpot"),
21  gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
22  egmPFCandidatesTag = cms.InputTag('particleFlowEGamma'),
23  vtxTag = cms.InputTag('offlinePrimaryVertices'),
24 
25  #output collections
26  outputEGMPFValueMap = cms.string(''),
27 
28  # backward compatibility mechanism for ctf tracks
29  ctfTracksCheck = cms.bool(True),
30  ctfTracksTag = cms.InputTag("generalTracks"),
31 
32  gedElectronMode = cms.bool(True),
33  PreSelectMVA = cms.double(-0.1),
34  MaxElePtForOnlyMVA = cms.double(50.0),
35 
36  # steering
37  useGsfPfRecTracks = cms.bool(True),
38  applyPreselection = cms.bool(True),
39  ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(False),
40  ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(False),
41  pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
42  applyAmbResolution = cms.bool(False),
43  ambSortingStrategy = cms.uint32(1),
44  ambClustersOverlapStrategy = cms.uint32(1),
45  addPflowElectrons = cms.bool(True), # this one should be transfered to the "core" level
46  useEcalRegression = cms.bool(True),
47  useCombinationRegression = cms.bool(True),
48 
49  # preselection parameters (ecal driven electrons)
50  minSCEtBarrel = cms.double(4.0),
51  minSCEtEndcaps = cms.double(4.0),
52  minEOverPBarrel = cms.double(0.0),
53  maxEOverPBarrel = cms.double(999999999.),
54  minEOverPEndcaps = cms.double(0.0),
55  maxEOverPEndcaps = cms.double(999999999.),
56  maxDeltaEtaBarrel = cms.double(0.02),
57  maxDeltaEtaEndcaps = cms.double(0.02),
58  maxDeltaPhiBarrel = cms.double(0.15),
59  maxDeltaPhiEndcaps = cms.double(0.15),
60  #useHcalTowers = cms.bool(True),
61  #useHcalRecHits = cms.bool(False),
62  hOverEConeSize = cms.double(0.15),
63  hOverEPtMin = cms.double(0.),
64  #maxHOverEDepth1Barrel = cms.double(0.1),
65  #maxHOverEDepth1Endcaps = cms.double(0.1),
66  #maxHOverEDepth2 = cms.double(0.1),
67  maxHOverEBarrel = cms.double(0.15),
68  maxHOverEEndcaps = cms.double(0.15),
69  maxHBarrel = cms.double(0.0),
70  maxHEndcaps = cms.double(0.0),
71  maxSigmaIetaIetaBarrel = cms.double(999999999.),
72  maxSigmaIetaIetaEndcaps = cms.double(999999999.),
73  maxFbremBarrel = cms.double(999999999.),
74  maxFbremEndcaps = cms.double(999999999.),
75  isBarrel = cms.bool(False),
76  isEndcaps = cms.bool(False),
77  isFiducial = cms.bool(False),
78  maxTIP = cms.double(999999999.),
79  seedFromTEC = cms.bool(True),
80  minMVA = cms.double(-0.4),
81  minMvaByPassForIsolated = cms.double(-0.4),
82 
83  # preselection parameters (tracker driven only electrons)
84  minSCEtBarrelPflow = cms.double(0.0),
85  minSCEtEndcapsPflow = cms.double(0.0),
86  minEOverPBarrelPflow = cms.double(0.0),
87  maxEOverPBarrelPflow = cms.double(999999999.),
88  minEOverPEndcapsPflow = cms.double(0.0),
89  maxEOverPEndcapsPflow = cms.double(999999999.),
90  maxDeltaEtaBarrelPflow = cms.double(999999999.),
91  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
92  maxDeltaPhiBarrelPflow = cms.double(999999999.),
93  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
94  hOverEConeSizePflow = cms.double(0.15),
95  hOverEPtMinPflow = cms.double(0.),
96  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
97  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
98  #maxHOverEDepth2Pflow = cms.double(999999999.),
99  maxHOverEBarrelPflow = cms.double(999999999.),
100  maxHOverEEndcapsPflow = cms.double(999999999.),
101  maxHBarrelPflow = cms.double(0.0),
102  maxHEndcapsPflow = cms.double(0.0),
103  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
104  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
105  maxFbremBarrelPflow = cms.double(999999999.),
106  maxFbremEndcapsPflow = cms.double(999999999.),
107  isBarrelPflow = cms.bool(False),
108  isEndcapsPflow = cms.bool(False),
109  isFiducialPflow = cms.bool(False),
110  maxTIPPflow = cms.double(999999999.),
111  minMVAPflow = cms.double(-0.4),
112  minMvaByPassForIsolatedPflow = cms.double(-0.4),
113 
114  # Ecal rec hits configuration
115  recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
116  recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
117  recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
118  recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
119  #severityLevelCut = cms.int32(4),
120 
121  # Isolation algos configuration
122  trkIsol03Cfg = trkIsol03CfgV1,
123  trkIsol04Cfg = trkIsol04CfgV1,
124  intRadiusHcal = cms.double(0.15),
125  etMinHcal = cms.double(0.0),
126  intRadiusEcalBarrel = cms.double(3.0),
127  intRadiusEcalEndcaps = cms.double(3.0),
128  jurassicWidth = cms.double(1.5),
129  etMinBarrel = cms.double(0.0),
130  eMinBarrel = cms.double(0.095),
131  etMinEndcaps = cms.double(0.110),
132  eMinEndcaps = cms.double(0.0),
133  vetoClustered = cms.bool(False),
134  useNumCrystals = cms.bool(True),
135  TransientInitialStateEstimatorParameters = cms.PSet(
136  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
137  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
138  ),
139 
140  # Corrections
141  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
142  crackCorrectionFunction = cms.string("EcalClusterCrackCorrection"),
143 
144  # regression. The labels are needed in all cases
145  ecalRefinedRegressionWeightLabels = cms.vstring('gedelectron_EBCorrection_offline_v1',
146  'gedelectron_EECorrection_offline_v1',
147  'gedelectron_EBUncertainty_offline_v1',
148  'gedelectron_EEUncertainty_offline_v1'),
149  combinationRegressionWeightLabels = cms.vstring('gedelectron_p4combination_offline'),
150 
151  ecalWeightsFromDB = cms.bool(True),
152  # if not from DB. Otherwise, keep empty
153  ecalRefinedRegressionWeightFiles = cms.vstring(),
154  combinationWeightsFromDB = cms.bool(True),
155  # if not from DB. Otherwise, keep empty
156  combinationRegressionWeightFile = cms.vstring(),
157 
158  # Iso Values
159  useIsolationValues = cms.bool(False),
160  SoftElecMVAFilesString = cms.vstring(
161  "RecoEgamma/ElectronIdentification/data/TMVA_BDTSoftElectrons_7Feb2014.weights.xml"
162  ),
163  ElecMVAFilesString = cms.vstring(
164  "RecoEgamma/ElectronIdentification/data/TMVA_Category_BDTSimpleCat_10_17Feb2011.weights.xml",
165  "RecoEgamma/ElectronIdentification/data/TMVA_Category_BDTSimpleCat_12_17Feb2011.weights.xml",
166  "RecoEgamma/ElectronIdentification/data/TMVA_Category_BDTSimpleCat_20_17Feb2011.weights.xml",
167  "RecoEgamma/ElectronIdentification/data/TMVA_Category_BDTSimpleCat_22_17Feb2011.weights.xml"
168  ),
169 )
170 
171 
172