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
5 
6 #==============================================================================
7 # Producer of transient ecal driven gsf electrons
8 #==============================================================================
9 
10 ecalDrivenGsfElectrons = cms.EDProducer("GsfElectronEcalDrivenProducer",
11 
12  # input collections
13  previousGsfElectronsTag = cms.InputTag(""),
14  pflowGsfElectronsTag = cms.InputTag(""),
15  gsfElectronCoresTag = cms.InputTag("ecalDrivenGsfElectronCores"),
16  barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
17  endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
18  hcalTowers = cms.InputTag("towerMaker"),
19  pfMvaTag = cms.InputTag(""),
20  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
21  beamSpotTag = cms.InputTag("offlineBeamSpot"),
22  gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
23 
24  # backward compatibility mechanism for ctf tracks
25  ctfTracksCheck = cms.bool(True),
26  ctfTracksTag = cms.InputTag("generalTracks"),
27 
28  # steering
29  useGsfPfRecTracks = cms.bool(True),
30  applyPreselection = cms.bool(False),
31  ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
32  ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
33  pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
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  minMvaByPassForIsolated = cms.double(-0.4),
72 
73  # preselection parameters (tracker driven only electrons)
74  minSCEtBarrelPflow = cms.double(0.0),
75  minSCEtEndcapsPflow = cms.double(0.0),
76  minEOverPBarrelPflow = cms.double(0.0),
77  maxEOverPBarrelPflow = cms.double(999999999.),
78  minEOverPEndcapsPflow = cms.double(0.0),
79  maxEOverPEndcapsPflow = cms.double(999999999.),
80  maxDeltaEtaBarrelPflow = cms.double(999999999.),
81  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
82  maxDeltaPhiBarrelPflow = cms.double(999999999.),
83  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
84  hOverEConeSizePflow = cms.double(0.15),
85  hOverEPtMinPflow = cms.double(0.),
86  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
87  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
88  #maxHOverEDepth2Pflow = cms.double(999999999.),
89  maxHOverEBarrelPflow = cms.double(999999999.),
90  maxHOverEEndcapsPflow = cms.double(999999999.),
91  maxHBarrelPflow = cms.double(0.0),
92  maxHEndcapsPflow = cms.double(0.0),
93  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
94  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
95  maxFbremBarrelPflow = cms.double(999999999.),
96  maxFbremEndcapsPflow = cms.double(999999999.),
97  isBarrelPflow = cms.bool(False),
98  isEndcapsPflow = cms.bool(False),
99  isFiducialPflow = cms.bool(False),
100  maxTIPPflow = cms.double(999999999.),
101  minMVAPflow = cms.double(-0.4),
102  minMvaByPassForIsolatedPflow = cms.double(-0.4),
103 
104  # Ecal rec hits configuration
105  recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
106  recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
107  recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
108  recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
109  #severityLevelCut = cms.int32(4),
110 
111  # Isolation algos configuration
112  intRadiusBarrelTk = cms.double(0.015),
113  intRadiusEndcapTk = cms.double(0.015),
114  stripBarrelTk = cms.double(0.015),
115  stripEndcapTk = cms.double(0.015),
116  ptMinTk = cms.double(0.7),
117  maxVtxDistTk = cms.double(0.2),
118  maxDrbTk = cms.double(999999999.),
119  intRadiusHcal = cms.double(0.15),
120  etMinHcal = cms.double(0.0),
121  intRadiusEcalBarrel = cms.double(3.0),
122  intRadiusEcalEndcaps = cms.double(3.0),
123  jurassicWidth = cms.double(1.5),
124  etMinBarrel = cms.double(0.0),
125  eMinBarrel = cms.double(0.095),
126  etMinEndcaps = cms.double(0.110),
127  eMinEndcaps = cms.double(0.0),
128  vetoClustered = cms.bool(False),
129  useNumCrystals = cms.bool(True),
130  TransientInitialStateEstimatorParameters = cms.PSet(
131  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
132  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
133  ),
134 
135  # Corrections
136  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
137  crackCorrectionFunction = cms.string("EcalClusterCrackCorrection"),
138 
139  # Iso Values
140  useIsolationValues = cms.bool(False)
141 )
142 
143 
144 #==============================================================================
145 # Final producer of persistent gsf electrons
146 #==============================================================================
147 
148 gsfElectrons = cms.EDProducer("GsfElectronProducer",
149 
150  # input collections
151  previousGsfElectronsTag = cms.InputTag("ecalDrivenGsfElectrons"),
152  pflowGsfElectronsTag = cms.InputTag("pfElectronTranslator:pf"),
153  gsfElectronCoresTag = cms.InputTag("gsfElectronCores"),
154  hcalTowers = cms.InputTag("towerMaker"),
155  barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
156  endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
157  pfMvaTag = cms.InputTag("pfElectronTranslator:pf"),
158  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
159  beamSpotTag = cms.InputTag("offlineBeamSpot"),
160  gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
161 
162  # backward compatibility mechanism for ctf tracks
163  ctfTracksCheck = cms.bool(True),
164  ctfTracksTag = cms.InputTag("generalTracks"),
165 
166  # steering
167  useGsfPfRecTracks = cms.bool(True),
168  applyPreselection = cms.bool(True),
169  ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
170  ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
171  pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
172  applyAmbResolution = cms.bool(True),
173  ambSortingStrategy = cms.uint32(1),
174  ambClustersOverlapStrategy = cms.uint32(1),
175  addPflowElectrons = cms.bool(True),
176 
177  # preselection parameters (ecal driven electrons)
178  minSCEtBarrel = cms.double(4.0),
179  minSCEtEndcaps = cms.double(4.0),
180  minEOverPBarrel = cms.double(0.0),
181  maxEOverPBarrel = cms.double(999999999.),
182  minEOverPEndcaps = cms.double(0.0),
183  maxEOverPEndcaps = cms.double(999999999.),
184  maxDeltaEtaBarrel = cms.double(0.02),
185  maxDeltaEtaEndcaps = cms.double(0.02),
186  maxDeltaPhiBarrel = cms.double(0.15),
187  maxDeltaPhiEndcaps = cms.double(0.15),
188  #useHcalTowers = cms.bool(True),
189  #useHcalRecHits = cms.bool(False),
190  hOverEConeSize = cms.double(0.15),
191  hOverEPtMin = cms.double(0.),
192  #maxHOverEDepth1Barrel = cms.double(0.1),
193  #maxHOverEDepth1Endcaps = cms.double(0.1),
194  #maxHOverEDepth2 = cms.double(0.1),
195  maxHOverEBarrel = cms.double(0.15),
196  maxHOverEEndcaps = cms.double(0.15),
197  maxHBarrel = cms.double(0.0),
198  maxHEndcaps = cms.double(0.0),
199  maxSigmaIetaIetaBarrel = cms.double(999999999.),
200  maxSigmaIetaIetaEndcaps = cms.double(999999999.),
201  maxFbremBarrel = cms.double(999999999.),
202  maxFbremEndcaps = cms.double(999999999.),
203  isBarrel = cms.bool(False),
204  isEndcaps = cms.bool(False),
205  isFiducial = cms.bool(False),
206  seedFromTEC = cms.bool(True),
207  maxTIP = cms.double(999999999.),
208  minMVA = cms.double(-0.1),
209  minMvaByPassForIsolated = cms.double(-0.1),
210 
211  # preselection parameters (tracker driven only electrons)
212  minSCEtBarrelPflow = cms.double(0.0),
213  minSCEtEndcapsPflow = cms.double(0.0),
214  minEOverPBarrelPflow = cms.double(0.0),
215  maxEOverPBarrelPflow = cms.double(999999999.),
216  minEOverPEndcapsPflow = cms.double(0.0),
217  maxEOverPEndcapsPflow = cms.double(999999999.),
218  maxDeltaEtaBarrelPflow = cms.double(999999999.),
219  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
220  maxDeltaPhiBarrelPflow = cms.double(999999999.),
221  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
222  hOverEConeSizePflow = cms.double(0.15),
223  hOverEPtMinPflow = cms.double(0.),
224  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
225  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
226  #maxHOverEDepth2Pflow = cms.double(999999999.),
227  maxHOverEBarrelPflow = cms.double(999999999.),
228  maxHOverEEndcapsPflow = cms.double(999999999.),
229  maxHBarrelPflow = cms.double(0.0),
230  maxHEndcapsPflow = cms.double(0.0),
231  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
232  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
233  maxFbremBarrelPflow = cms.double(999999999.),
234  maxFbremEndcapsPflow = cms.double(999999999.),
235  isBarrelPflow = cms.bool(False),
236  isEndcapsPflow = cms.bool(False),
237  isFiducialPflow = cms.bool(False),
238  maxTIPPflow = cms.double(999999999.),
239  minMVAPflow = cms.double(-0.1),
240  minMvaByPassForIsolatedPflow = cms.double(-0.1),
241 
242  # Ecal rec hits configuration
243  recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
244  recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
245  recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
246  recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
247  #severityLevelCut = cms.int32(4),
248 
249  # Isolation algos configuration
250  intRadiusBarrelTk = cms.double(0.015),
251  intRadiusEndcapTk = cms.double(0.015),
252  stripBarrelTk = cms.double(0.015),
253  stripEndcapTk = cms.double(0.015),
254  ptMinTk = cms.double(0.7),
255  maxVtxDistTk = cms.double(0.2),
256  maxDrbTk = cms.double(999999999.),
257  intRadiusHcal = cms.double(0.15),
258  etMinHcal = cms.double(0.0),
259  intRadiusEcalBarrel = cms.double(3.0),
260  intRadiusEcalEndcaps = cms.double(3.0),
261  jurassicWidth = cms.double(1.5),
262  etMinBarrel = cms.double(0.0),
263  eMinBarrel = cms.double(0.095),
264  etMinEndcaps = cms.double(0.110),
265  eMinEndcaps = cms.double(0.0),
266  vetoClustered = cms.bool(False),
267  useNumCrystals = cms.bool(True),
268  TransientInitialStateEstimatorParameters = cms.PSet(
269  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
270  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
271  ),
272 
273  # Corrections
274  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
275  crackCorrectionFunction = cms.string("EcalClusterCrackCorrection"),
276 
277  # Iso Values (PF and EcalDriven)
278  useIsolationValues = cms.bool(True),
279  pfIsolationValues = cms.PSet(
280  pfChargedHadrons = cms.InputTag('elPFIsoValueCharged04'),
281  pfPhotons = cms.InputTag('elPFIsoValueGamma04'),
282  pfNeutralHadrons= cms.InputTag('elPFIsoValueNeutral04')),
283 
284  edIsolationValues = cms.PSet(
285  edChargedHadrons = cms.InputTag('elEDIsoValueCharged04'),
286  edPhotons = cms.InputTag('elEDIsoValueGamma04'),
287  edNeutralHadrons= cms.InputTag('elEDIsoValueNeutral04'))
288 
289 )
290 
291