CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_2_7_hltpatch2/src/RecoTauTag/RecoTau/python/RecoTauHPSTancTauProdcuer_cfi.py

Go to the documentation of this file.
00001 import FWCore.ParameterSet.Config as cms
00002 
00003 import RecoTauTag.RecoTau.RecoTauCleanerPlugins as cleaners
00004 import RecoTauTag.RecoTau.PFRecoTauDiscriminationByLeadingPionPtCut_cfi as leadPion_cfi 
00005 
00006 
00007 '''
00008 
00009 Configuration for HPSTaNC taus
00010 
00011 Authors: Michailis Bachtis (UW Madison), Evan Friis (UC Davis)
00012 
00013 Tau is reconstructed from all combinatoric pairs, using Pair/Strip PiZeros.
00014 Decay mode is selected by the TaNC discriminator
00015 
00016 '''
00017 
00018 hpsTancRecoTaus = cms.EDProducer(
00019     "RecoTauCleaner",
00020     src = cms.InputTag("combinatoricRecoTaus"),
00021     cleaners = cms.VPSet(
00022         cleaners.unitCharge,
00023         cleaners.leadPionFinding.clone(
00024             src = cms.InputTag(
00025                 "combinatoricRecoTausDiscriminationByLeadPionPtCut"),
00026         ),
00027         cleaners.tanc.clone(
00028             src = cms.InputTag("combinatoricRecoTausDiscriminationByTaNC"),
00029         ),
00030         # In case two taus both completely pass or fail tanc
00031         cleaners.chargeIsolation,
00032         cleaners.ecalIsolation,
00033     )
00034 )
00035 
00036 combinatoricRecoTausDiscriminationByLeadPionPtCut = \
00037         leadPion_cfi.pfRecoTauDiscriminationByLeadingPionPtCut.clone(
00038             PFTauProducer = cms.InputTag("combinatoricRecoTaus")
00039         )
00040 
00041 combinatoricRecoTausDiscriminationByTaNC = cms.EDProducer(
00042     "RecoTauMVADiscriminator",
00043     discriminantOptions = cms.PSet(),
00044     PFTauProducer = cms.InputTag("combinatoricRecoTaus"),
00045     mvas = cms.VPSet(
00046         cms.PSet(
00047             nCharged = cms.uint32(1),
00048             nPiZeros = cms.uint32(0),
00049             mvaLabel = cms.string("OneProngNoPiZero"),
00050         ),
00051         cms.PSet(
00052             nCharged = cms.uint32(1),
00053             nPiZeros = cms.uint32(1),
00054             mvaLabel = cms.string("OneProngOnePiZero"),
00055         ),
00056         cms.PSet(
00057             nCharged = cms.uint32(1),
00058             nPiZeros = cms.uint32(2),
00059             mvaLabel = cms.string("OneProngTwoPiZero"),
00060         ),
00061         cms.PSet(
00062             nCharged = cms.uint32(3),
00063             nPiZeros = cms.uint32(0),
00064             mvaLabel = cms.string("ThreeProngNoPiZero"),
00065         ),
00066         cms.PSet(
00067             nCharged = cms.uint32(3),
00068             nPiZeros = cms.uint32(1),
00069             mvaLabel = cms.string("ThreeProngOnePiZero"),
00070         ),
00071     ),
00072     Prediscriminants = cms.PSet(
00073         BooleanOperator = cms.string("and"),
00074         leadPion = cms.PSet(
00075             cut = cms.double(0.5),
00076             Producer = cms.InputTag(
00077                 "combinatoricRecoTausDiscriminationByLeadPionPtCut")
00078         )
00079     ),
00080     prefailValue = cms.double(-2.0),
00081     dbLabel = cms.string(''),
00082 )
00083 
00084 hpsTancRecoTausSequence = cms.Sequence(
00085     combinatoricRecoTausDiscriminationByLeadPionPtCut +
00086     combinatoricRecoTausDiscriminationByTaNC +
00087     hpsTancRecoTaus 
00088 )
00089 
00090