1 import FWCore.ParameterSet.Config
as cms
4 isomuons = cms.EDFilter(
6 src = cms.InputTag(
'muons'),
7 cut = cms.string(
"(isTrackerMuon) && std::abs(eta) < 2.5 && pt > 9.5"+
9 "&& globalTrack.isNonnull"+
10 "&& innerTrack.hitPattern.numberOfValidPixelHits > 0"+
11 "&& innerTrack.normalizedChi2 < 10"+
12 "&& numberOfMatches > 0"+
13 "&& innerTrack.hitPattern.numberOfValidTrackerHits>5"+
14 "&& globalTrack.hitPattern.numberOfValidHits>0"+
15 "&& (pfIsolationR03.sumChargedHadronPt+pfIsolationR03.sumNeutralHadronEt+pfIsolationR03.sumPhotonEt)/pt < 0.3"+
16 "&& std::abs(innerTrack().dxy)<2.0" 18 filter = cms.bool(
False)
22 isoelectrons = cms.EDFilter(
23 "GsfElectronSelector",
24 src = cms.InputTag(
'gsfElectrons'),
25 cut = cms.string(
"std::abs(eta) < 2.5 && pt > 9.5" +
26 "&& gsfTrack.trackerExpectedHitsInner.numberOfHits == 0" +
28 "&& (isolationVariables03.tkSumPt)/et < 0.2" +
29 "&& ((std::abs(eta) < 1.4442 " +
30 "&& std::abs(deltaEtaSuperClusterTrackAtVtx) < 0.007"+
31 "&& std::abs(deltaPhiSuperClusterTrackAtVtx) < 0.8" +
32 "&& sigmaIetaIeta < 0.01" +
33 "&& hcalOverEcal < 0.15" +
34 "&& std::abs(1./superCluster.energy - 1./p) < 0.05)"+
35 "|| (std::abs(eta) > 1.566 "+
36 "&& std::abs(deltaEtaSuperClusterTrackAtVtx) < 0.009"+
37 "&& std::abs(deltaPhiSuperClusterTrackAtVtx) < 0.10" +
38 "&& sigmaIetaIeta < 0.03" +
39 "&& hcalOverEcal < 0.10" +
40 "&& std::abs(1./superCluster.energy - 1./p) < 0.05))" 42 filter = cms.bool(
False)
46 kt6PFJetsForRhoComputationVoronoiMet = dummy.clone(
51 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByHPSSelection_cfi
import hpsSelectionDiscriminator
52 hpsPFTauDiscriminationByDecayModeFinding = hpsSelectionDiscriminator.clone(
53 PFTauProducer =
'hpsPFTauProducer' 58 requireDecayMode = cms.PSet(
59 BooleanOperator = cms.string(
"and"),
61 Producer = cms.InputTag(
'hpsPFTauDiscriminationByDecayModeFinding'),
66 import RecoTauTag.RecoTau.pfRecoTauDiscriminationAgainstMuon2_cfi
as _mod
68 hpsPFTauDiscriminationAgainstMuon2 = _mod.pfRecoTauDiscriminationAgainstMuon2.clone(
69 PFTauProducer =
'hpsPFTauProducer',
70 Prediscriminants = requireDecayMode.clone(),
71 discriminatorOption =
'loose',
74 hpsPFTauDiscriminationByMVAIsolation = cms.EDProducer(
75 "PFRecoTauDiscriminationByMVAIsolation",
76 PFTauProducer = cms.InputTag(
'hpsPFTauProducer'),
77 rhoProducer = cms.InputTag(
'kt6PFJetsForRhoComputationVoronoiMet',
'rho'),
78 Prediscriminants = requireDecayMode.clone(),
79 gbrfFilePath = cms.FileInPath(
'RecoTauTag/RecoTau/data/gbrfTauIso_v2.root'),
80 returnMVA = cms.bool(
False),
81 mvaMin = cms.double(0.8),
84 isotaus = cms.EDFilter(
86 src = cms.InputTag(
'hpsPFTauProducer'),
87 BooleanOperator = cms.string(
"and"),
88 discriminators = cms.VPSet(
89 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationByDecayModeFinding"), selectionCut=cms.double(0.5)),
92 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationByLooseElectronRejection"), selectionCut=cms.double(0.5)),
93 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationAgainstMuon2"), selectionCut=cms.double(0.5))
95 cut = cms.string(
"std::abs(eta) < 2.3 && pt > 19.0 "),
96 filter = cms.bool(
False)
99 isomuonTask = cms.Task(isomuons)
100 isomuonseq = cms.Sequence(isomuonTask)
101 isoelectronTask = cms.Task(isoelectrons)
102 isoelectronseq = cms.Sequence(isoelectronTask)
103 isotauTask = cms.Task(
107 hpsPFTauDiscriminationAgainstMuon2,
110 isotauseq = cms.Sequence(isotauTask)
112 leptonSelection = cms.PSet(
113 SelectEvents = cms.PSet(
114 SelectEvents = cms.vstring(