1 |
bendavid |
1.1 |
import FWCore.ParameterSet.Config as cms
|
2 |
|
|
|
3 |
|
|
#normal iterative tracking procedure reimplemented using gsf fits for all tracks
|
4 |
|
|
import TrackingTools.GsfTracking.GsfElectronFit_cfi
|
5 |
|
|
preFilterFirstStepTracksGsf = TrackingTools.GsfTracking.GsfElectronFit_cfi.GsfGlobalElectronTest.clone()
|
6 |
|
|
preFilterFirstStepTracksGsf.src = 'newTrackCandidateMaker'
|
7 |
|
|
preFilterFirstStepTracksGsf.TrajectoryInEvent = True
|
8 |
|
|
|
9 |
|
|
from MitEdm.TrackerElectrons.iterativeTkGsf_cff import *
|
10 |
|
|
from MitEdm.TrackerElectrons.MergeTrackCollectionsGsf_cff import *
|
11 |
|
|
|
12 |
|
|
import MitEdm.Producers.gsfTrackAssociator_cff
|
13 |
|
|
generalGsfTrackAssociator = MitEdm.Producers.gsfTrackAssociator_cff.gsfTrackAssociator.clone()
|
14 |
|
|
generalGsfTrackAssociator.fromTracks = 'generalTracksGsf'
|
15 |
|
|
|
16 |
|
|
import SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi
|
17 |
|
|
gsfMcMatch = SimTracker.TrackAssociation.trackingParticleRecoTrackAsssociation_cfi.trackingParticleRecoTrackAsssociation.clone()
|
18 |
|
|
gsfMcMatch.label_tr = 'generalTracksGsf'
|
19 |
|
|
|
20 |
|
|
#configure tracker-seeded electron producer with very loose cuts
|
21 |
|
|
import RecoEgamma.EgammaElectronProducers.globalGsfElectrons_cfi
|
22 |
|
|
globalGeneralGsfElectrons = RecoEgamma.EgammaElectronProducers.globalGsfElectrons_cfi.globalGsfElectrons.clone()
|
23 |
|
|
globalGeneralGsfElectrons.tracks = cms.InputTag("generalTracksGsf")
|
24 |
|
|
globalGeneralGsfElectrons.minEOverPEndcaps = 0.0
|
25 |
|
|
globalGeneralGsfElectrons.minEOverPBarrel = 0.0
|
26 |
|
|
globalGeneralGsfElectrons.maxEOverPEndcaps = 99999.9
|
27 |
|
|
globalGeneralGsfElectrons.maxEOverPBarrel = 99999.9
|
28 |
|
|
globalGeneralGsfElectrons.maxHOverE = 99999.9
|
29 |
|
|
globalGeneralGsfElectrons.maxDeltaPhi = 0.3
|
30 |
|
|
globalGeneralGsfElectrons.maxDeltaEta = 0.06
|
31 |
|
|
globalGeneralGsfElectrons.applyAmbResolution = True
|
32 |
|
|
|
33 |
|
|
#run isolation and electron id algorithms on new electron collection
|
34 |
|
|
import RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff
|
35 |
|
|
eleIsoDepositTkGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoDepositTk.clone()
|
36 |
|
|
eleIsoDepositTkGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
37 |
|
|
eleIsoDepositEcalFromHitsGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoDepositEcalFromHits.clone()
|
38 |
|
|
eleIsoDepositEcalFromHitsGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
39 |
|
|
eleIsoDepositHcalFromHitsGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoDepositHcalFromHits.clone()
|
40 |
|
|
eleIsoDepositHcalFromHitsGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
41 |
|
|
eleIsoFromDepsTkGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoFromDepsTk.clone()
|
42 |
|
|
eleIsoFromDepsTkGsf.deposits[0].src = cms.InputTag("eleIsoDepositEcalFromHitsGsf")
|
43 |
|
|
eleIsoFromDepsEcalFromHitsGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoFromDepsEcalFromHits.clone()
|
44 |
|
|
eleIsoFromDepsEcalFromHitsGsf.deposits[0].src = cms.InputTag("eleIsoDepositEcalFromHitsGsf")
|
45 |
|
|
eleIsoFromDepsHcalFromHitsGsf = RecoEgamma.EgammaIsolationAlgos.eleIsolationSequence_cff.eleIsoFromDepsHcalFromHits.clone()
|
46 |
|
|
eleIsoFromDepsHcalFromHitsGsf.deposits[0].src = cms.InputTag("eleIsoDepositHcalFromHitsGsf")
|
47 |
|
|
|
48 |
|
|
generalGsfElectronsIso = cms.Sequence(eleIsoDepositTkGsf*eleIsoDepositEcalFromHitsGsf*eleIsoDepositHcalFromHitsGsf
|
49 |
|
|
*eleIsoFromDepsTkGsf*eleIsoFromDepsEcalFromHitsGsf*eleIsoFromDepsHcalFromHitsGsf)
|
50 |
|
|
|
51 |
|
|
import RecoEgamma.ElectronIdentification.electronIdSequence_cff
|
52 |
|
|
eidRobustLooseGsf = RecoEgamma.ElectronIdentification.electronIdSequence_cff.eidRobustLoose.clone()
|
53 |
|
|
eidRobustLooseGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
54 |
|
|
eidRobustTightGsf = RecoEgamma.ElectronIdentification.electronIdSequence_cff.eidRobustTight.clone()
|
55 |
|
|
eidRobustTightGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
56 |
|
|
eidLooseGsf = RecoEgamma.ElectronIdentification.electronIdSequence_cff.eidLoose.clone()
|
57 |
|
|
eidLooseGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
58 |
|
|
eidTightGsf = RecoEgamma.ElectronIdentification.electronIdSequence_cff.eidTight.clone()
|
59 |
|
|
eidTightGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
60 |
|
|
|
61 |
|
|
import RecoEgamma.ElectronIdentification.electronIdNeuralNet_cfi
|
62 |
|
|
eidNeuralNetGsf = RecoEgamma.ElectronIdentification.electronIdNeuralNet_cfi.eidNeuralNet.clone()
|
63 |
|
|
eidNeuralNetGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
64 |
|
|
|
65 |
|
|
import RecoEgamma.ElectronIdentification.electronIdLikelihoodExt_cfi
|
66 |
|
|
eidLikelihoodExtGsf = RecoEgamma.ElectronIdentification.electronIdLikelihoodExt_cfi.eidLikelihoodExt.clone()
|
67 |
|
|
eidLikelihoodExtGsf.src = cms.InputTag("globalGeneralGsfElectrons")
|
68 |
|
|
|
69 |
|
|
generalGsfElectronId = cms.Sequence(eidRobustLooseGsf*eidRobustTightGsf*eidLooseGsf*eidTightGsf*eidNeuralNetGsf*eidLikelihoodExtGsf)
|
70 |
|
|
|
71 |
|
|
generalGsfTracking = cms.Sequence(preFilterFirstStepTracksGsf*iterTrackingGsf*trackCollectionMergingGsf*
|
72 |
|
|
gsfMcMatch*generalGsfTrackAssociator*
|
73 |
|
|
globalGeneralGsfElectrons*generalGsfElectronsIso*generalGsfElectronId)
|
74 |
|
|
|
75 |
|
|
|