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.
2 
3 import RecoTauTag.RecoTau.RecoTauCleanerPlugins as cleaners
5 
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 = cms.EDProducer(
19  "RecoTauCleaner",
20  src = cms.InputTag("combinatoricRecoTaus"),
21  cleaners = cms.VPSet(
22  cleaners.unitCharge,
23  cleaners.leadPionFinding.clone(
24  src = cms.InputTag(
25  "combinatoricRecoTausDiscriminationByLeadPionPtCut"),
26  ),
27  cleaners.tanc.clone(
28  src = cms.InputTag("combinatoricRecoTausDiscriminationByTaNC"),
29  ),
30  # In case two taus both completely pass or fail tanc
31  cleaners.chargeIsolation,
32  cleaners.ecalIsolation,
33  )
34 )
35 
36 combinatoricRecoTausDiscriminationByLeadPionPtCut = \
37  leadPion_cfi.pfRecoTauDiscriminationByLeadingPionPtCut.clone(
38  PFTauProducer = cms.InputTag("combinatoricRecoTaus")
39  )
40 
41 combinatoricRecoTausDiscriminationByTaNC = cms.EDProducer(
42  "RecoTauMVADiscriminator",
43  discriminantOptions = cms.PSet(),
44  PFTauProducer = cms.InputTag("combinatoricRecoTaus"),
45  mvas = cms.VPSet(
46  cms.PSet(
47  nCharged = cms.uint32(1),
48  nPiZeros = cms.uint32(0),
49  mvaLabel = cms.string("OneProngNoPiZero"),
50  ),
51  cms.PSet(
52  nCharged = cms.uint32(1),
53  nPiZeros = cms.uint32(1),
54  mvaLabel = cms.string("OneProngOnePiZero"),
55  ),
56  cms.PSet(
57  nCharged = cms.uint32(1),
58  nPiZeros = cms.uint32(2),
59  mvaLabel = cms.string("OneProngTwoPiZero"),
60  ),
61  cms.PSet(
62  nCharged = cms.uint32(3),
63  nPiZeros = cms.uint32(0),
64  mvaLabel = cms.string("ThreeProngNoPiZero"),
65  ),
66  cms.PSet(
67  nCharged = cms.uint32(3),
68  nPiZeros = cms.uint32(1),
69  mvaLabel = cms.string("ThreeProngOnePiZero"),
70  ),
71  ),
72  Prediscriminants = cms.PSet(
73  BooleanOperator = cms.string("and"),
74  leadPion = cms.PSet(
75  cut = cms.double(0.5),
76  Producer = cms.InputTag(
77  "combinatoricRecoTausDiscriminationByLeadPionPtCut")
78  )
79  ),
80  prefailValue = cms.double(-2.0),
81  dbLabel = cms.string(''),
82 )
83 
84 hpsTancRecoTausSequence = cms.Sequence(
85  combinatoricRecoTausDiscriminationByLeadPionPtCut +
86  combinatoricRecoTausDiscriminationByTaNC +
87  hpsTancRecoTaus
88 )
89 
90