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 )
140 
141 
142 #==============================================================================
143 # Final producer of persistent gsf electrons
144 #==============================================================================
145 
146 gsfElectrons = cms.EDProducer("GsfElectronProducer",
147 
148  # input collections
149  previousGsfElectronsTag = cms.InputTag("ecalDrivenGsfElectrons"),
150  pflowGsfElectronsTag = cms.InputTag("pfElectronTranslator:pf"),
151  gsfElectronCoresTag = cms.InputTag("gsfElectronCores"),
152  hcalTowers = cms.InputTag("towerMaker"),
153  barrelRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
154  endcapRecHitCollectionTag = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
155  pfMvaTag = cms.InputTag("pfElectronTranslator:pf"),
156  seedsTag = cms.InputTag("ecalDrivenElectronSeeds"),
157  beamSpotTag = cms.InputTag("offlineBeamSpot"),
158  gsfPfRecTracksTag = cms.InputTag("pfTrackElec"),
159 
160  # backward compatibility mechanism for ctf tracks
161  ctfTracksCheck = cms.bool(True),
162  ctfTracksTag = cms.InputTag("generalTracks"),
163 
164  # steering
165  useGsfPfRecTracks = cms.bool(True),
166  applyPreselection = cms.bool(True),
167  ecalDrivenEcalEnergyFromClassBasedParameterization = cms.bool(True),
168  ecalDrivenEcalErrorFromClassBasedParameterization = cms.bool(True),
169  pureTrackerDrivenEcalErrorFromSimpleParameterization = cms.bool(True),
170  applyAmbResolution = cms.bool(True),
171  ambSortingStrategy = cms.uint32(1),
172  ambClustersOverlapStrategy = cms.uint32(1),
173  addPflowElectrons = cms.bool(True),
174 
175  # preselection parameters (ecal driven electrons)
176  minSCEtBarrel = cms.double(4.0),
177  minSCEtEndcaps = cms.double(4.0),
178  minEOverPBarrel = cms.double(0.0),
179  maxEOverPBarrel = cms.double(999999999.),
180  minEOverPEndcaps = cms.double(0.0),
181  maxEOverPEndcaps = cms.double(999999999.),
182  maxDeltaEtaBarrel = cms.double(0.02),
183  maxDeltaEtaEndcaps = cms.double(0.02),
184  maxDeltaPhiBarrel = cms.double(0.15),
185  maxDeltaPhiEndcaps = cms.double(0.15),
186  #useHcalTowers = cms.bool(True),
187  #useHcalRecHits = cms.bool(False),
188  hOverEConeSize = cms.double(0.15),
189  hOverEPtMin = cms.double(0.),
190  #maxHOverEDepth1Barrel = cms.double(0.1),
191  #maxHOverEDepth1Endcaps = cms.double(0.1),
192  #maxHOverEDepth2 = cms.double(0.1),
193  maxHOverEBarrel = cms.double(0.15),
194  maxHOverEEndcaps = cms.double(0.15),
195  maxHBarrel = cms.double(0.0),
196  maxHEndcaps = cms.double(0.0),
197  maxSigmaIetaIetaBarrel = cms.double(999999999.),
198  maxSigmaIetaIetaEndcaps = cms.double(999999999.),
199  maxFbremBarrel = cms.double(999999999.),
200  maxFbremEndcaps = cms.double(999999999.),
201  isBarrel = cms.bool(False),
202  isEndcaps = cms.bool(False),
203  isFiducial = cms.bool(False),
204  seedFromTEC = cms.bool(True),
205  maxTIP = cms.double(999999999.),
206  minMVA = cms.double(-0.1),
207  minMvaByPassForIsolated = cms.double(-0.1),
208 
209  # preselection parameters (tracker driven only electrons)
210  minSCEtBarrelPflow = cms.double(0.0),
211  minSCEtEndcapsPflow = cms.double(0.0),
212  minEOverPBarrelPflow = cms.double(0.0),
213  maxEOverPBarrelPflow = cms.double(999999999.),
214  minEOverPEndcapsPflow = cms.double(0.0),
215  maxEOverPEndcapsPflow = cms.double(999999999.),
216  maxDeltaEtaBarrelPflow = cms.double(999999999.),
217  maxDeltaEtaEndcapsPflow = cms.double(999999999.),
218  maxDeltaPhiBarrelPflow = cms.double(999999999.),
219  maxDeltaPhiEndcapsPflow = cms.double(999999999.),
220  hOverEConeSizePflow = cms.double(0.15),
221  hOverEPtMinPflow = cms.double(0.),
222  #maxHOverEDepth1BarrelPflow = cms.double(999999999.),
223  #maxHOverEDepth1EndcapsPflow = cms.double(999999999.),
224  #maxHOverEDepth2Pflow = cms.double(999999999.),
225  maxHOverEBarrelPflow = cms.double(999999999.),
226  maxHOverEEndcapsPflow = cms.double(999999999.),
227  maxHBarrelPflow = cms.double(0.0),
228  maxHEndcapsPflow = cms.double(0.0),
229  maxSigmaIetaIetaBarrelPflow = cms.double(999999999.),
230  maxSigmaIetaIetaEndcapsPflow = cms.double(999999999.),
231  maxFbremBarrelPflow = cms.double(999999999.),
232  maxFbremEndcapsPflow = cms.double(999999999.),
233  isBarrelPflow = cms.bool(False),
234  isEndcapsPflow = cms.bool(False),
235  isFiducialPflow = cms.bool(False),
236  maxTIPPflow = cms.double(999999999.),
237  minMVAPflow = cms.double(-0.1),
238  minMvaByPassForIsolatedPflow = cms.double(-0.1),
239 
240  # Ecal rec hits configuration
241  recHitFlagsToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitFlagToBeExcluded,
242  recHitFlagsToBeExcludedEndcaps = multi5x5BasicClustersCleaned.RecHitFlagToBeExcluded,
243  recHitSeverityToBeExcludedBarrel = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
244  recHitSeverityToBeExcludedEndcaps = cleanedHybridSuperClusters.RecHitSeverityToBeExcluded,
245  #severityLevelCut = cms.int32(4),
246 
247  # Isolation algos configuration
248  intRadiusBarrelTk = cms.double(0.015),
249  intRadiusEndcapTk = cms.double(0.015),
250  stripBarrelTk = cms.double(0.015),
251  stripEndcapTk = cms.double(0.015),
252  ptMinTk = cms.double(0.7),
253  maxVtxDistTk = cms.double(0.2),
254  maxDrbTk = cms.double(999999999.),
255  intRadiusHcal = cms.double(0.15),
256  etMinHcal = cms.double(0.0),
257  intRadiusEcalBarrel = cms.double(3.0),
258  intRadiusEcalEndcaps = cms.double(3.0),
259  jurassicWidth = cms.double(1.5),
260  etMinBarrel = cms.double(0.0),
261  eMinBarrel = cms.double(0.095),
262  etMinEndcaps = cms.double(0.110),
263  eMinEndcaps = cms.double(0.0),
264  vetoClustered = cms.bool(False),
265  useNumCrystals = cms.bool(True),
266  TransientInitialStateEstimatorParameters = cms.PSet(
267  propagatorAlongTISE = cms.string('PropagatorWithMaterial'),
268  propagatorOppositeTISE = cms.string('PropagatorWithMaterialOpposite')
269  ),
270 
271  # Corrections
272  superClusterErrorFunction = cms.string("EcalClusterEnergyUncertaintyObjectSpecific"),
273  crackCorrectionFunction = cms.string("EcalClusterCrackCorrection")
274 
275 )
276 
277