00001 import FWCore.ParameterSet.Config as cms
00002 from RecoTauTag.RecoTau.PFRecoTauQualityCuts_cfi import PFTauQualityCuts
00003 from RecoTauTag.RecoTau.RecoTauEnergyRecoveryPlugin_cfi import pfTauEnergyRecoveryPlugin
00004
00005 '''
00006
00007 Configuration for combinatoric PFTau producer plugins.
00008
00009 Note that this plugin produces many taus for each PFJet!
00010 To be useful the output from this module must be cleaned
00011 using an implementation of the RecoTauCleaner module.
00012
00013 Author: Evan K. Friis, UC Davis
00014
00015
00016 '''
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 combinatoricDecayModeConfigs = cms.PSet(
00028 config1prong0pi0 = cms.PSet(
00029
00030 nCharged = cms.uint32(1),
00031 nPiZeros = cms.uint32(0),
00032 maxTracks = cms.uint32(6),
00033 maxPiZeros = cms.uint32(0),
00034 ),
00035 config1prong1pi0 = cms.PSet(
00036
00037 nCharged = cms.uint32(1),
00038 nPiZeros = cms.uint32(1),
00039 maxTracks = cms.uint32(6),
00040 maxPiZeros = cms.uint32(6),
00041 ),
00042 config1prong2pi0 = cms.PSet(
00043
00044 nCharged = cms.uint32(1),
00045 nPiZeros = cms.uint32(2),
00046 maxTracks = cms.uint32(6),
00047 maxPiZeros = cms.uint32(5),
00048 ),
00049 config3prong0pi0 = cms.PSet(
00050
00051 nCharged = cms.uint32(3),
00052 nPiZeros = cms.uint32(0),
00053 maxTracks = cms.uint32(6),
00054 maxPiZeros = cms.uint32(0),
00055 ),
00056 config3prong1pi0 = cms.PSet(
00057
00058 nCharged = cms.uint32(3),
00059 nPiZeros = cms.uint32(1),
00060 maxTracks = cms.uint32(6),
00061 maxPiZeros = cms.uint32(3),
00062 )
00063 )
00064
00065 _combinatoricTauConfig = cms.PSet(
00066 name = cms.string("combinatoric"),
00067 plugin = cms.string("RecoTauBuilderCombinatoricPlugin"),
00068 pfCandSrc = cms.InputTag("particleFlow"),
00069 usePFLeptons = cms.bool(True),
00070 isolationConeSize = cms.double(0.5),
00071 qualityCuts = PFTauQualityCuts,
00072 decayModes = cms.VPSet(
00073 combinatoricDecayModeConfigs.config1prong0pi0,
00074 combinatoricDecayModeConfigs.config1prong1pi0,
00075 combinatoricDecayModeConfigs.config1prong2pi0,
00076 combinatoricDecayModeConfigs.config3prong0pi0,
00077
00078 )
00079 )
00080
00081 combinatoricRecoTaus = cms.EDProducer(
00082 "RecoTauProducer",
00083 jetSrc = cms.InputTag("ak5PFJets"),
00084 jetRegionSrc = cms.InputTag("recoTauAK5PFJets08Region"),
00085 piZeroSrc = cms.InputTag("ak5PFJetsRecoTauPiZeros"),
00086 buildNullTaus = cms.bool(True),
00087
00088
00089 builders = cms.VPSet(
00090 _combinatoricTauConfig,
00091 ),
00092 modifiers = cms.VPSet(
00093 cms.PSet(
00094 name = cms.string("sipt"),
00095 plugin = cms.string("RecoTauImpactParameterSignificancePlugin"),
00096 qualityCuts = PFTauQualityCuts,
00097 ),
00098
00099 cms.PSet(
00100 name = cms.string("elec_rej"),
00101 plugin = cms.string("RecoTauElectronRejectionPlugin"),
00102
00103 ElectronPreIDProducer = cms.InputTag("elecpreid"),
00104 EcalStripSumE_deltaPhiOverQ_minValue = cms.double(-0.1),
00105 EcalStripSumE_deltaPhiOverQ_maxValue = cms.double(0.5),
00106 EcalStripSumE_minClusEnergy = cms.double(0.1),
00107 EcalStripSumE_deltaEta = cms.double(0.03),
00108 ElecPreIDLeadTkMatch_maxDR = cms.double(0.01),
00109 maximumForElectrionPreIDOutput = cms.double(-0.1),
00110 DataType = cms.string("AOD"),
00111 ),
00112
00113 cms.PSet(
00114 pfTauEnergyRecoveryPlugin,
00115 name = cms.string("tau_en_recovery"),
00116 plugin = cms.string("RecoTauEnergyRecoveryPlugin")
00117 )
00118 ),
00119 )