2 import FWCore.ParameterSet.Config
as cms
4 from RecoTauTag.RecoTau.PFRecoTauEnergyAlgorithmPlugin_cfi
import pfTauEnergyAlgorithmPlugin
5 from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi
import PFRecoTauPFJetInputs
8 Configuration for combinatoric PFTau producer plugins.
10 Note that this plugin produces many taus for each PFJet!
11 To be useful the output from this module must be cleaned
12 using an implementation of the RecoTauCleaner module.
14 Author: Evan K. Friis, UC Davis
28 combinatoricDecayModeConfigs = cms.PSet(
29 config1prong0pi0 = cms.PSet(
31 nCharged = cms.uint32(1),
32 nPiZeros = cms.uint32(0),
33 maxTracks = cms.uint32(6),
34 maxPiZeros = cms.uint32(0),
36 config1prong1pi0 = cms.PSet(
38 nCharged = cms.uint32(1),
39 nPiZeros = cms.uint32(1),
40 maxTracks = cms.uint32(6),
41 maxPiZeros = cms.uint32(6),
43 config1prong2pi0 = cms.PSet(
45 nCharged = cms.uint32(1),
46 nPiZeros = cms.uint32(2),
47 maxTracks = cms.uint32(6),
48 maxPiZeros = cms.uint32(5),
50 config2prong0pi0 = cms.PSet(
52 nCharged = cms.uint32(2),
53 nPiZeros = cms.uint32(0),
54 maxTracks = cms.uint32(6),
55 maxPiZeros = cms.uint32(0),
57 config2prong1pi0 = cms.PSet(
59 nCharged = cms.uint32(2),
60 nPiZeros = cms.uint32(1),
61 maxTracks = cms.uint32(6),
62 maxPiZeros = cms.uint32(3),
64 config3prong0pi0 = cms.PSet(
66 nCharged = cms.uint32(3),
67 nPiZeros = cms.uint32(0),
68 maxTracks = cms.uint32(6),
69 maxPiZeros = cms.uint32(0),
71 config3prong1pi0 = cms.PSet(
73 nCharged = cms.uint32(3),
74 nPiZeros = cms.uint32(1),
75 maxTracks = cms.uint32(6),
76 maxPiZeros = cms.uint32(3),
80 _combinatoricTauConfig = cms.PSet(
81 name = cms.string(
"combinatoric"),
82 plugin = cms.string(
"RecoTauBuilderCombinatoricPlugin"),
83 pfCandSrc = cms.InputTag(
"particleFlow"),
84 isolationConeSize = PFRecoTauPFJetInputs.isolationConeSize,
85 qualityCuts = PFTauQualityCuts,
86 decayModes = cms.VPSet(
87 combinatoricDecayModeConfigs.config1prong0pi0,
88 combinatoricDecayModeConfigs.config1prong1pi0,
89 combinatoricDecayModeConfigs.config1prong2pi0,
90 combinatoricDecayModeConfigs.config2prong0pi0,
91 combinatoricDecayModeConfigs.config2prong1pi0,
92 combinatoricDecayModeConfigs.config3prong0pi0,
93 combinatoricDecayModeConfigs.config3prong1pi0
95 signalConeSize = cms.string(
"max(min(0.1, 3.0/pt()), 0.05)"),
96 minAbsPhotonSumPt_insideSignalCone = cms.double(2.5),
97 minRelPhotonSumPt_insideSignalCone = cms.double(0.10),
98 minAbsPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
99 minRelPhotonSumPt_outsideSignalCone = cms.double(1.e+9)
102 combinatoricRecoTaus = cms.EDProducer(
"RecoTauProducer",
103 jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
104 minJetPt = PFRecoTauPFJetInputs.minJetPt,
105 maxJetAbsEta = PFRecoTauPFJetInputs.maxJetAbsEta,
106 jetRegionSrc = cms.InputTag(
"recoTauAK4PFJets08Region"),
107 chargedHadronSrc = cms.InputTag(
'ak4PFJetsRecoTauChargedHadrons'),
108 piZeroSrc = cms.InputTag(
"ak4PFJetsRecoTauPiZeros"),
109 buildNullTaus = cms.bool(
True),
112 builders = cms.VPSet(
113 _combinatoricTauConfig
115 modifiers = cms.VPSet(
117 name = cms.string(
"sipt"),
118 plugin = cms.string(
"RecoTauImpactParameterSignificancePlugin"),
119 qualityCuts = PFTauQualityCuts,
123 name = cms.string(
"elec_rej"),
124 plugin = cms.string(
"RecoTauElectronRejectionPlugin"),
126 ElectronPreIDProducer = cms.InputTag(
"elecpreid"),
127 EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1),
128 EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5),
129 EcalStripSumE_minClusEnergy = cms.double(0.1),
130 EcalStripSumE_deltaEta = cms.double(0.03),
131 ElecPreIDLeadTkMatch_maxDR = cms.double(0.01),
132 maximumForElectrionPreIDOutput = cms.double(-0.1),
133 DataType = cms.string(
"AOD"),
139 pfTauEnergyAlgorithmPlugin,
140 name = cms.string(
"tau_en_reconstruction"),
141 plugin = cms.string(
"PFRecoTauEnergyAlgorithmPlugin"),
142 verbosity = cms.int32(0)