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),
73 _combinatoricTauConfig = cms.PSet(
74 name = cms.string(
"combinatoric"),
75 plugin = cms.string(
"RecoTauBuilderCombinatoricPlugin"),
76 pfCandSrc = cms.InputTag(
"particleFlow"),
77 isolationConeSize = PFRecoTauPFJetInputs.isolationConeSize,
78 qualityCuts = PFTauQualityCuts,
79 decayModes = cms.VPSet(
80 combinatoricDecayModeConfigs.config1prong0pi0,
81 combinatoricDecayModeConfigs.config1prong1pi0,
82 combinatoricDecayModeConfigs.config1prong2pi0,
83 combinatoricDecayModeConfigs.config2prong0pi0,
84 combinatoricDecayModeConfigs.config2prong1pi0,
85 combinatoricDecayModeConfigs.config3prong0pi0
87 signalConeSize = cms.string(
"max(min(0.1, 3.0/pt()), 0.05)"),
88 minAbsPhotonSumPt_insideSignalCone = cms.double(2.5),
89 minRelPhotonSumPt_insideSignalCone = cms.double(0.10),
90 minAbsPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
91 minRelPhotonSumPt_outsideSignalCone = cms.double(1.e+9)
94 combinatoricRecoTaus = cms.EDProducer(
"RecoTauProducer",
95 jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
96 minJetPt = PFRecoTauPFJetInputs.minJetPt,
97 maxJetAbsEta = PFRecoTauPFJetInputs.maxJetAbsEta,
98 jetRegionSrc = cms.InputTag(
"recoTauAK4PFJets08Region"),
99 chargedHadronSrc = cms.InputTag(
'ak4PFJetsRecoTauChargedHadrons'),
100 piZeroSrc = cms.InputTag(
"ak4PFJetsRecoTauPiZeros"),
101 buildNullTaus = cms.bool(
True),
104 builders = cms.VPSet(
105 _combinatoricTauConfig
107 modifiers = cms.VPSet(
109 name = cms.string(
"sipt"),
110 plugin = cms.string(
"RecoTauImpactParameterSignificancePlugin"),
111 qualityCuts = PFTauQualityCuts,
115 name = cms.string(
"elec_rej"),
116 plugin = cms.string(
"RecoTauElectronRejectionPlugin"),
118 ElectronPreIDProducer = cms.InputTag(
"elecpreid"),
119 EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1),
120 EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5),
121 EcalStripSumE_minClusEnergy = cms.double(0.1),
122 EcalStripSumE_deltaEta = cms.double(0.03),
123 ElecPreIDLeadTkMatch_maxDR = cms.double(0.01),
124 maximumForElectrionPreIDOutput = cms.double(-0.1),
125 DataType = cms.string(
"AOD"),
131 pfTauEnergyAlgorithmPlugin,
132 name = cms.string(
"tau_en_reconstruction"),
133 plugin = cms.string(
"PFRecoTauEnergyAlgorithmPlugin"),
134 verbosity = cms.int32(0)