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