File indexing completed on 2023-03-17 11:21:57
0001
0002 import FWCore.ParameterSet.Config as cms
0003 from RecoTauTag.RecoTau.PFRecoTauQualityCuts_cfi import PFTauQualityCuts
0004 from RecoTauTag.RecoTau.PFRecoTauEnergyAlgorithmPlugin_cfi import pfTauEnergyAlgorithmPlugin
0005 from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi import PFRecoTauPFJetInputs
0006 '''
0007
0008 Configuration for combinatoric PFTau producer plugins.
0009
0010 Note that this plugin produces many taus for each PFJet!
0011 To be useful the output from this module must be cleaned
0012 using an implementation of the RecoTauCleaner module.
0013
0014 Author: Evan K. Friis, UC Davis
0015
0016
0017 '''
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 combinatoricDecayModeConfigs = cms.PSet(
0029 config1prong0pi0 = cms.PSet(
0030
0031 nCharged = cms.uint32(1),
0032 nPiZeros = cms.uint32(0),
0033 maxTracks = cms.uint32(6),
0034 maxPiZeros = cms.uint32(0),
0035 ),
0036 config1prong1pi0 = cms.PSet(
0037
0038 nCharged = cms.uint32(1),
0039 nPiZeros = cms.uint32(1),
0040 maxTracks = cms.uint32(6),
0041 maxPiZeros = cms.uint32(6),
0042 ),
0043 config1prong2pi0 = cms.PSet(
0044
0045 nCharged = cms.uint32(1),
0046 nPiZeros = cms.uint32(2),
0047 maxTracks = cms.uint32(6),
0048 maxPiZeros = cms.uint32(5),
0049 ),
0050 config2prong0pi0 = cms.PSet(
0051
0052 nCharged = cms.uint32(2),
0053 nPiZeros = cms.uint32(0),
0054 maxTracks = cms.uint32(6),
0055 maxPiZeros = cms.uint32(0),
0056 ),
0057 config2prong1pi0 = cms.PSet(
0058
0059 nCharged = cms.uint32(2),
0060 nPiZeros = cms.uint32(1),
0061 maxTracks = cms.uint32(6),
0062 maxPiZeros = cms.uint32(3),
0063 ),
0064 config3prong0pi0 = cms.PSet(
0065
0066 nCharged = cms.uint32(3),
0067 nPiZeros = cms.uint32(0),
0068 maxTracks = cms.uint32(6),
0069 maxPiZeros = cms.uint32(0),
0070 ),
0071 config3prong1pi0 = cms.PSet(
0072
0073 nCharged = cms.uint32(3),
0074 nPiZeros = cms.uint32(1),
0075 maxTracks = cms.uint32(6),
0076 maxPiZeros = cms.uint32(3),
0077 )
0078 )
0079
0080 combinatoricModifierConfigs = [
0081 cms.PSet(
0082 name = cms.string("sipt"),
0083 plugin = cms.string("RecoTauImpactParameterSignificancePlugin"),
0084 qualityCuts = PFTauQualityCuts,
0085 ),
0086
0087 cms.PSet(
0088 name = cms.string("elec_rej"),
0089 plugin = cms.string("RecoTauElectronRejectionPlugin"),
0090
0091 ElectronPreIDProducer = cms.InputTag("elecpreid"),
0092 EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1),
0093 EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5),
0094 EcalStripSumE_minClusEnergy = cms.double(0.1),
0095 EcalStripSumE_deltaEta = cms.double(0.03),
0096 ElecPreIDLeadTkMatch_maxDR = cms.double(0.01),
0097 maximumForElectrionPreIDOutput = cms.double(-0.1),
0098 DataType = cms.string("AOD"),
0099 ),
0100
0101
0102
0103 cms.PSet(
0104 pfTauEnergyAlgorithmPlugin,
0105 name = cms.string("tau_en_reconstruction"),
0106 plugin = cms.string("PFRecoTauEnergyAlgorithmPlugin"),
0107 ),
0108
0109
0110 cms.PSet(
0111 name = cms.string("tau_lost_tracks"),
0112 trackSrc = cms.InputTag("generalTracks"),
0113 plugin = cms.string("PFRecoTauLostTrackPlugin"),
0114 verbosity = cms.int32(0)
0115 )
0116 ]
0117
0118 _combinatoricTauConfig = cms.PSet(
0119 name = cms.string("combinatoric"),
0120 plugin = cms.string("RecoTauBuilderCombinatoricPlugin"),
0121 pfCandSrc = cms.InputTag("particleFlow"),
0122 isolationConeSize = PFRecoTauPFJetInputs.isolationConeSize,
0123 qualityCuts = PFTauQualityCuts,
0124 decayModes = cms.VPSet(
0125 combinatoricDecayModeConfigs.config1prong0pi0,
0126 combinatoricDecayModeConfigs.config1prong1pi0,
0127 combinatoricDecayModeConfigs.config1prong2pi0,
0128 combinatoricDecayModeConfigs.config2prong0pi0,
0129 combinatoricDecayModeConfigs.config2prong1pi0,
0130 combinatoricDecayModeConfigs.config3prong0pi0,
0131 combinatoricDecayModeConfigs.config3prong1pi0
0132 ),
0133 signalConeSize = cms.string("max(min(0.1, 3.0/pt()), 0.05)"),
0134 minAbsPhotonSumPt_insideSignalCone = cms.double(2.5),
0135 minRelPhotonSumPt_insideSignalCone = cms.double(0.10),
0136 minAbsPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
0137 minRelPhotonSumPt_outsideSignalCone = cms.double(1.e+9),
0138 verbosity = cms.int32(0)
0139 )
0140
0141 combinatoricRecoTaus = cms.EDProducer("RecoTauProducer",
0142 jetSrc = PFRecoTauPFJetInputs.inputJetCollection,
0143 minJetPt = PFRecoTauPFJetInputs.minJetPt,
0144 maxJetAbsEta = PFRecoTauPFJetInputs.maxJetAbsEta,
0145 jetRegionSrc = cms.InputTag("recoTauAK4PFJets08Region"),
0146 chargedHadronSrc = cms.InputTag('ak4PFJetsRecoTauChargedHadrons'),
0147 piZeroSrc = cms.InputTag("ak4PFJetsRecoTauPiZeros"),
0148 buildNullTaus = cms.bool(False),
0149 outputSelection = cms.string("leadChargedHadrCand().isNonnull()"),
0150
0151
0152 builders = cms.VPSet(
0153 _combinatoricTauConfig
0154 ),
0155 modifiers = cms.VPSet(
0156 combinatoricModifierConfigs
0157 )
0158 )