CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
gsfElectrons_cfi.py
Go to the documentation of this file.
1 
2 import FWCore.ParameterSet.Config as cms
3 
7 
8 #==============================================================================
9 # Producer of transient ecal driven gsf electrons
10 #==============================================================================
11 
12 ecalDrivenGsfElectrons = cms.EDProducer("GsfElectronEcalDrivenProducer",
13 
14  # input collections
15  previousGsfElectronsTag = cms.InputTag(""),
16  gsfElectronCoresTag = cms.InputTag("ecalDrivenGsfElectronCores"),
17  reducedBarrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
18  reducedEndcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
19  hcalTowers = cms.InputTag("towerMaker"),
20  pfMvaTag = cms.InputTag("pfElectronTranslator:pf"),
21  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
22  beamSpotTag = cms.InputTag("offlineBeamSpot"),
23 
24  # backward compatibility mechanism for ctf tracks
25  ctfTracksCheck = cms.bool(True),
26  ctfTracksTag = cms.InputTag("generalTracks"),
27 
28  # steering
29  applyPreselection = cms.bool(False),
30  applyEtaCorrection = cms.bool(False),
31  applyAmbResolution = cms.bool(False),
32  ambSortingStrategy = cms.uint32(1),
33  ambClustersOverlapStrategy = cms.uint32(1),
34  addPflowElectrons = cms.bool(True), # this one should be transfered to the "core" level
35 
36  # preselection parameters (ecal driven electrons)
37  minSCEtBarrel = cms.double(4.0),
38  minSCEtEndcaps = cms.double(4.0),
39  minEOverPBarrel = cms.double(0.0),
40  maxEOverPBarrel = cms.double(999999999.),
41  minEOverPEndcaps = cms.double(0.0),
42  maxEOverPEndcaps = cms.double(999999999.),
43  maxDeltaEtaBarrel = cms.double(0.02),
44  maxDeltaEtaEndcaps = cms.double(0.02),
45  maxDeltaPhiBarrel = cms.double(0.15),
46  maxDeltaPhiEndcaps = cms.double(0.15),
47  #useHcalTowers = cms.bool(True),
48  #useHcalRecHits = cms.bool(False),
49  hOverEConeSize = cms.double(0.15),
50  hOverEPtMin = cms.double(0.),
51  #maxHOverEDepth1Barrel = cms.double(0.1),
52  #maxHOverEDepth1Endcaps = cms.double(0.1),
53  #maxHOverEDepth2 = cms.double(0.1),
54  maxHOverEBarrel = cms.double(0.15),
55  maxHOverEEndcaps = cms.double(0.15),
56  maxHBarrel = cms.double(0.0),
57  maxHEndcaps = cms.double(0.0),
58  maxSigmaIetaIetaBarrel = cms.double(999999999.),
59  maxSigmaIetaIetaEndcaps = cms.double(999999999.),
60  maxFbremBarrel = cms.double(999999999.),
61  maxFbremEndcaps = cms.double(999999999.),
62  isBarrel = cms.bool(False),
63  isEndcaps = cms.bool(False),
64  isFiducial = cms.bool(False),
65  maxTIP = cms.double(999999999.),
66  seedFromTEC = cms.bool(True),
67  minMVA = cms.double(-0.4),
68 
69  # preselection parameters (tracker driven only electrons)
70  minSCEtBarrelPflow = cms.double(0.0),
71  minSCEtEndcapsPflow = cms.double(0.0),
72  minEOverPBarrelPflow = cms.double(0.0),
73  maxEOverPBarrelPflow = cms.double(999999999.),
74  minEOverPEndcapsPflow = cms.double(0.0),
75  maxEOverPEndcapsPflow = cms.double(999999999.),
76  maxDeltaEtaBarrelPflow = cms.double(999999999.),
77  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
78  maxDeltaPhiBarrelPflow = cms.double(999999999.),
79  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
80  hOverEConeSizePflow = cms.double(0.15),
81  hOverEPtMinPflow = cms.double(0.),
82  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
83  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
84  #maxHOverEDepth2Pflow = cms.double(999999999.),
85  maxHOverEBarrelPflow = cms.double(999999999.),
86  maxHOverEEndcapsPflow = cms.double(999999999.),
87  maxHBarrelPflow = cms.double(0.0),
88  maxHEndcapsPflow = cms.double(0.0),
89  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
90  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
91  maxFbremBarrelPflow = cms.double(999999999.),
92  maxFbremEndcapsPflow = cms.double(999999999.),
93  isBarrelPflow = cms.bool(False),
94  isEndcapsPflow = cms.bool(False),
95  isFiducialPflow = cms.bool(False),
96  maxTIPPflow = cms.double(999999999.),
97  minMVAPflow = cms.double(-0.4),
98 
99  # Isolation algos configuration
100  intRadiusBarrelTk = cms.double(0.015),
101  intRadiusEndcapTk = cms.double(0.015),
102  stripBarrelTk = cms.double(0.015),
103  stripEndcapTk = cms.double(0.015),
104  ptMinTk = cms.double(0.7),
105  maxVtxDistTk = cms.double(0.2),
106  maxDrbTk = cms.double(999999999.),
107  intRadiusHcal = cms.double(0.15),
108  etMinHcal = cms.double(0.0),
109  intRadiusEcalBarrel = cms.double(3.0),
110  intRadiusEcalEndcaps = cms.double(3.0),
111  jurassicWidth = cms.double(1.5),
112  etMinBarrel = cms.double(0.0),
113  eMinBarrel = cms.double(0.08),
114  etMinEndcaps = cms.double(0.1),
115  eMinEndcaps = cms.double(0.0),
116  vetoClustered = cms.bool(False),
117  useNumCrystals = cms.bool(True),
118  severityLevelCut = cms.int32(4),
119  severityRecHitThreshold = cms.double(5.0),
120  spikeIdThreshold = cms.double(0.95),
121  spikeIdString = cms.string('kSwissCrossBordersIncluded'),
122 
123  recHitFlagsToBeExcluded = cms.vint32(
124  ecalRecHitFlag_kFaultyHardware,
125  ecalRecHitFlag_kPoorCalib,
126 # ecalRecHitFlag_kSaturated,
127 # ecalRecHitFlag_kLeadingEdgeRecovered,
128 # ecalRecHitFlag_kNeighboursRecovered,
129  ecalRecHitFlag_kTowerRecovered,
130  ecalRecHitFlag_kDead
131  ),
132 
133 
134  TransientInitialStateEstimatorParameters = cms.PSet(
135  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
136  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
137  ),
138 
139  # Corrections
140  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertainty")
141 
142 )
143 
144 
145 #==============================================================================
146 # Final producer of persistent gsf electrons
147 #==============================================================================
148 
149 gsfElectrons = cms.EDProducer("GsfElectronProducer",
150 
151  # input collections
152  previousGsfElectronsTag = cms.InputTag("ecalDrivenGsfElectrons"),
153  gsfElectronCoresTag = cms.InputTag("gsfElectronCores"),
154  hcalTowers = cms.InputTag("towerMaker"),
155  reducedBarrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
156  reducedEndcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
157  pfMvaTag = cms.InputTag("pfElectronTranslator:pf"),
158  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
159  beamSpotTag = cms.InputTag("offlineBeamSpot"),
160 
161  # backward compatibility mechanism for ctf tracks
162  ctfTracksCheck = cms.bool(True),
163  ctfTracksTag = cms.InputTag("generalTracks"),
164 
165  # steering
166  applyPreselection = cms.bool(True),
167  applyEtaCorrection = cms.bool(False),
168  applyAmbResolution = cms.bool(True),
169  ambSortingStrategy = cms.uint32(1),
170  ambClustersOverlapStrategy = cms.uint32(1),
171  addPflowElectrons = cms.bool(True),
172 
173  # preselection parameters (ecal driven electrons)
174  minSCEtBarrel = cms.double(4.0),
175  minSCEtEndcaps = cms.double(4.0),
176  minEOverPBarrel = cms.double(0.0),
177  maxEOverPBarrel = cms.double(999999999.),
178  minEOverPEndcaps = cms.double(0.0),
179  maxEOverPEndcaps = cms.double(999999999.),
180  maxDeltaEtaBarrel = cms.double(0.02),
181  maxDeltaEtaEndcaps = cms.double(0.02),
182  maxDeltaPhiBarrel = cms.double(0.15),
183  maxDeltaPhiEndcaps = cms.double(0.15),
184  #useHcalTowers = cms.bool(True),
185  #useHcalRecHits = cms.bool(False),
186  hOverEConeSize = cms.double(0.15),
187  hOverEPtMin = cms.double(0.),
188  #maxHOverEDepth1Barrel = cms.double(0.1),
189  #maxHOverEDepth1Endcaps = cms.double(0.1),
190  #maxHOverEDepth2 = cms.double(0.1),
191  maxHOverEBarrel = cms.double(0.15),
192  maxHOverEEndcaps = cms.double(0.15),
193  maxHBarrel = cms.double(0.0),
194  maxHEndcaps = cms.double(0.0),
195  maxSigmaIetaIetaBarrel = cms.double(999999999.),
196  maxSigmaIetaIetaEndcaps = cms.double(999999999.),
197  maxFbremBarrel = cms.double(999999999.),
198  maxFbremEndcaps = cms.double(999999999.),
199  isBarrel = cms.bool(False),
200  isEndcaps = cms.bool(False),
201  isFiducial = cms.bool(False),
202  seedFromTEC = cms.bool(True),
203  maxTIP = cms.double(999999999.),
204  minMVA = cms.double(-0.4),
205 
206  # preselection parameters (tracker driven only electrons)
207  minSCEtBarrelPflow = cms.double(0.0),
208  minSCEtEndcapsPflow = cms.double(0.0),
209  minEOverPBarrelPflow = cms.double(0.0),
210  maxEOverPBarrelPflow = cms.double(999999999.),
211  minEOverPEndcapsPflow = cms.double(0.0),
212  maxEOverPEndcapsPflow = cms.double(999999999.),
213  maxDeltaEtaBarrelPflow = cms.double(999999999.),
214  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
215  maxDeltaPhiBarrelPflow = cms.double(999999999.),
216  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
217  hOverEConeSizePflow = cms.double(0.15),
218  hOverEPtMinPflow = cms.double(0.),
219  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
220  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
221  #maxHOverEDepth2Pflow = cms.double(999999999.),
222  maxHOverEBarrelPflow = cms.double(999999999.),
223  maxHOverEEndcapsPflow = cms.double(999999999.),
224  maxHBarrelPflow = cms.double(0.0),
225  maxHEndcapsPflow = cms.double(0.0),
226  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
227  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
228  maxFbremBarrelPflow = cms.double(999999999.),
229  maxFbremEndcapsPflow = cms.double(999999999.),
230  isBarrelPflow = cms.bool(False),
231  isEndcapsPflow = cms.bool(False),
232  isFiducialPflow = cms.bool(False),
233  maxTIPPflow = cms.double(999999999.),
234  minMVAPflow = cms.double(-0.4),
235 
236  # Isolation algos configuration
237  intRadiusBarrelTk = cms.double(0.015),
238  intRadiusEndcapTk = cms.double(0.015),
239  stripBarrelTk = cms.double(0.015),
240  stripEndcapTk = cms.double(0.015),
241  ptMinTk = cms.double(0.7),
242  maxVtxDistTk = cms.double(0.2),
243  maxDrbTk = cms.double(999999999.),
244  intRadiusHcal = cms.double(0.15),
245  etMinHcal = cms.double(0.0),
246  intRadiusEcalBarrel = cms.double(3.0),
247  intRadiusEcalEndcaps = cms.double(3.0),
248  jurassicWidth = cms.double(1.5),
249  etMinBarrel = cms.double(0.0),
250  eMinBarrel = cms.double(0.08),
251  etMinEndcaps = cms.double(0.1),
252  eMinEndcaps = cms.double(0.0),
253  vetoClustered = cms.bool(False),
254  useNumCrystals = cms.bool(True),
255  severityLevelCut = cms.int32(4),
256  severityRecHitThreshold = cms.double(5.0),
257  spikeIdThreshold = cms.double(0.95),
258  spikeIdString = cms.string('kSwissCrossBordersIncluded'),
259 
260  recHitFlagsToBeExcluded = cms.vint32(
261  ecalRecHitFlag_kFaultyHardware,
262  ecalRecHitFlag_kPoorCalib,
263 # ecalRecHitFlag_kSaturated,
264 # ecalRecHitFlag_kLeadingEdgeRecovered,
265 # ecalRecHitFlag_kNeighboursRecovered,
266  ecalRecHitFlag_kTowerRecovered,
267  ecalRecHitFlag_kDead
268  ),
269 
270 
271  TransientInitialStateEstimatorParameters = cms.PSet(
272  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
273  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
274  ),
275 
276  # Corrections
277  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertainty")
278 
279 )
280 
281