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'),
26 "std::abs(eta) < 2.5 && pt > 9.5" +
27 "&& gsfTrack.trackerExpectedHitsInner.numberOfHits == 0" +
29 "&& (isolationVariables03.tkSumPt)/et < 0.2" +
30 "&& ((std::abs(eta) < 1.4442 " +
31 "&& std::abs(deltaEtaSuperClusterTrackAtVtx) < 0.007"+
32 "&& std::abs(deltaPhiSuperClusterTrackAtVtx) < 0.8" +
33 "&& sigmaIetaIeta < 0.01" +
34 "&& hcalOverEcal < 0.15" +
35 "&& std::abs(1./superCluster.energy - 1./p) < 0.05)"+
36 "|| (std::abs(eta) > 1.566 "+
37 "&& std::abs(deltaEtaSuperClusterTrackAtVtx) < 0.009"+
38 "&& std::abs(deltaPhiSuperClusterTrackAtVtx) < 0.10" +
39 "&& sigmaIetaIeta < 0.03" +
40 "&& hcalOverEcal < 0.10" +
41 "&& std::abs(1./superCluster.energy - 1./p) < 0.05))"
43 filter = cms.bool(
False)
47 kt6PFJetsForRhoComputationVoronoiMet = dummy.clone(
52 from RecoTauTag.RecoTau.PFRecoTauDiscriminationByHPSSelection_cfi
import hpsSelectionDiscriminator
53 hpsPFTauDiscriminationByDecayModeFinding = hpsSelectionDiscriminator.clone(
54 PFTauProducer =
'hpsPFTauProducer'
59 requireDecayMode = cms.PSet(
60 BooleanOperator = cms.string(
"and"),
62 Producer = cms.InputTag(
'hpsPFTauDiscriminationByDecayModeFinding'),
69 hpsPFTauDiscriminationAgainstMuon2 = cms.EDProducer(
"PFRecoTauDiscriminationAgainstMuon2",
70 PFTauProducer = cms.InputTag(
'hpsPFTauProducer'),
71 Prediscriminants = requireDecayMode.clone(),
72 discriminatorOption = cms.string(
'loose'),
73 HoPMin = cms.double(0.2)
77 hpsPFTauDiscriminationByMVAIsolation = cms.EDProducer(
78 "PFRecoTauDiscriminationByMVAIsolation",
79 PFTauProducer = cms.InputTag(
'hpsPFTauProducer'),
80 rhoProducer = cms.InputTag(
'kt6PFJetsForRhoComputationVoronoiMet',
'rho'),
81 Prediscriminants = requireDecayMode.clone(),
82 gbrfFilePath = cms.FileInPath(
'RecoTauTag/RecoTau/data/gbrfTauIso_v2.root'),
83 returnMVA = cms.bool(
False),
84 mvaMin = cms.double(0.8),
87 isotaus = cms.EDFilter(
89 src = cms.InputTag(
'hpsPFTauProducer'),
90 BooleanOperator = cms.string(
"and"),
91 discriminators = cms.VPSet(
92 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationByDecayModeFinding"), selectionCut=cms.double(0.5)),
94 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr3Hits"), selectionCut=cms.double(0.5)),
95 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationByLooseElectronRejection"), selectionCut=cms.double(0.5)),
96 cms.PSet( discriminator=cms.InputTag(
"hpsPFTauDiscriminationAgainstMuon2"), selectionCut=cms.double(0.5))
98 cut = cms.string(
"std::abs(eta) < 2.3 && pt > 19.0 "),
99 filter = cms.bool(
False)
102 isomuonTask = cms.Task(isomuons)
103 isomuonseq = cms.Sequence(isomuonsTask)
104 isoelectronTask = cms.Task(isoelectrons)
105 isoelectronseq = cms.Sequence(isoelectronsTask)
106 isotauTask = cms.Task(
107 hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr3Hits,
110 hpsPFTauDiscriminationAgainstMuon2,
113 isotauseq = cms.Sequence(isotauTask)
115 leptonSelection = cms.PSet(
116 SelectEvents = cms.PSet(
117 SelectEvents = cms.vstring(