CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecoTauHPSTancTauProdcuer_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 import RecoTauTag.RecoTau.RecoTauCleanerPlugins as cleaners
4 import RecoTauTag.RecoTau.PFRecoTauDiscriminationByLeadingPionPtCut_cfi as leadPion_cfi
5 from RecoTauTag.RecoTau.RecoTauCleaner_cfi import RecoTauCleaner
6 
7 '''
8 
9 Configuration for HPSTaNC taus
10 
11 Authors: Michailis Bachtis (UW Madison), Evan Friis (UC Davis)
12 
13 Tau is reconstructed from all combinatoric pairs, using Pair/Strip PiZeros.
14 Decay mode is selected by the TaNC discriminator
15 
16 '''
17 
18 hpsTancRecoTaus = RecoTauCleaner.clone(
19  src = cms.InputTag("combinatoricRecoTaus"),
20  cleaners = cms.VPSet(
21  cleaners.unitCharge,
22  cleaners.leadPionFinding.clone(
23  src = cms.InputTag(
24  "combinatoricRecoTausDiscriminationByLeadPionPtCut"),
25  ),
26  cleaners.tanc.clone(
27  src = cms.InputTag("combinatoricRecoTausDiscriminationByTaNC"),
28  ),
29  # In case two taus both completely pass or fail tanc
30  cleaners.chargeIsolation,
31  cleaners.ecalIsolation,
32  )
33 )
34 
35 combinatoricRecoTausDiscriminationByLeadPionPtCut = \
36  leadPion_cfi.pfRecoTauDiscriminationByLeadingPionPtCut.clone(
37  PFTauProducer = cms.InputTag("combinatoricRecoTaus")
38  )
39 
40 combinatoricRecoTausDiscriminationByTaNC = cms.EDProducer(
41  "RecoTauMVADiscriminator",
42  discriminantOptions = cms.PSet(),
43  PFTauProducer = cms.InputTag("combinatoricRecoTaus"),
44  mvas = cms.VPSet(
45  cms.PSet(
46  nCharged = cms.uint32(1),
47  nPiZeros = cms.uint32(0),
48  mvaLabel = cms.string("OneProngNoPiZero"),
49  ),
50  cms.PSet(
51  nCharged = cms.uint32(1),
52  nPiZeros = cms.uint32(1),
53  mvaLabel = cms.string("OneProngOnePiZero"),
54  ),
55  cms.PSet(
56  nCharged = cms.uint32(1),
57  nPiZeros = cms.uint32(2),
58  mvaLabel = cms.string("OneProngTwoPiZero"),
59  ),
60  cms.PSet(
61  nCharged = cms.uint32(3),
62  nPiZeros = cms.uint32(0),
63  mvaLabel = cms.string("ThreeProngNoPiZero"),
64  ),
65  cms.PSet(
66  nCharged = cms.uint32(3),
67  nPiZeros = cms.uint32(1),
68  mvaLabel = cms.string("ThreeProngOnePiZero"),
69  ),
70  ),
71  Prediscriminants = cms.PSet(
72  BooleanOperator = cms.string("and"),
73  leadPion = cms.PSet(
74  cut = cms.double(0.5),
75  Producer = cms.InputTag(
76  "combinatoricRecoTausDiscriminationByLeadPionPtCut")
77  )
78  ),
79  prefailValue = cms.double(-2.0),
80  dbLabel = cms.string(''),
81 )
82 
83 hpsTancRecoTausSequence = cms.Sequence(
84  combinatoricRecoTausDiscriminationByLeadPionPtCut +
85  combinatoricRecoTausDiscriminationByTaNC +
86  hpsTancRecoTaus
87 )
88 
89