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