CMS 3D CMS Logo

PFRecoTauDiscriminationByHPSSelection_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 from RecoTauTag.RecoTau.TauDiscriminatorTools import noPrediscriminants
4 from RecoTauTag.RecoTau.PFRecoTauPFJetInputs_cfi import PFRecoTauPFJetInputs
5 
6 decayMode_1Prong0Pi0 = cms.PSet(
7  nCharged = cms.uint32(1),
8  nPiZeros = cms.uint32(0),
9  nTracksMin = cms.uint32(1),
10  nChargedPFCandsMin = cms.uint32(1),
11  # Always passes
12  # If an PF electron is selected as the lead track, the tau can have
13  # negative mass. FIXME - investigate this
14  minMass = cms.double(-1.e3),
15  maxMass = cms.string("1."),
16  # for XProng0Pi0 decay modes bending corrections are transparent
17  applyBendCorrection = cms.PSet(
18  eta = cms.bool(True),
19  phi = cms.bool(True),
20  mass = cms.bool(True)
21  )
22 )
23 decayMode_1Prong1Pi0 = cms.PSet(
24  nCharged = cms.uint32(1),
25  nPiZeros = cms.uint32(1),
26  nTracksMin = cms.uint32(1),
27  nChargedPFCandsMin = cms.uint32(1),
28  minMass = cms.double(0.3),
29  maxMass = cms.string("max(1.3, min(1.3*sqrt(pt/100.), 4.2))"),
30  assumeStripMass = cms.double(0.1349),
31  applyBendCorrection = cms.PSet(
32  eta = cms.bool(True),
33  phi = cms.bool(True),
34  mass = cms.bool(True)
35  )
36 )
37 decayMode_1Prong2Pi0 = cms.PSet(
38  nCharged = cms.uint32(1),
39  nPiZeros = cms.uint32(2),
40  nTracksMin = cms.uint32(1),
41  nChargedPFCandsMin = cms.uint32(1),
42  minMass = cms.double(0.4),
43  maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))"),
44  minPi0Mass = cms.double(0.05),
45  maxPi0Mass = cms.double(0.2),
46  # Here the strips are assumed to correspond to photons
47  assumeStripMass = cms.double(0.0),
48  applyBendCorrection = cms.PSet(
49  eta = cms.bool(True),
50  phi = cms.bool(True),
51  mass = cms.bool(True)
52  )
53 )
54 decayMode_2Prong0Pi0 = cms.PSet(
55  nCharged = cms.uint32(2),
56  nPiZeros = cms.uint32(0),
57  nTracksMin = cms.uint32(2),
58  nChargedPFCandsMin = cms.uint32(1),
59  minMass = cms.double(0.),
60  maxMass = cms.string("1.2"),
61  # for XProng0Pi0 decay modes bending corrections are transparent
62  applyBendCorrection = cms.PSet(
63  eta = cms.bool(False),
64  phi = cms.bool(False),
65  mass = cms.bool(False)
66  )
67 )
68 decayMode_2Prong1Pi0 = cms.PSet(
69  nCharged = cms.uint32(2),
70  nPiZeros = cms.uint32(1),
71  nTracksMin = cms.uint32(2),
72  nChargedPFCandsMin = cms.uint32(1),
73  minMass = cms.double(0.),
74  maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))"),
75  applyBendCorrection = cms.PSet(
76  eta = cms.bool(False),
77  phi = cms.bool(False),
78  mass = cms.bool(False)
79  )
80 )
81 decayMode_3Prong0Pi0 = cms.PSet(
82  nCharged = cms.uint32(3),
83  nPiZeros = cms.uint32(0),
84  nTracksMin = cms.uint32(2),
85  nChargedPFCandsMin = cms.uint32(1),
86  minMass = cms.double(0.8),
87  maxMass = cms.string("1.5"),
88  applyBendCorrection = cms.PSet(
89  eta = cms.bool(False),
90  phi = cms.bool(False),
91  mass = cms.bool(False)
92  )
93 )
94 decayMode_3Prong1Pi0 = cms.PSet( #suggestions made by CV
95  nCharged = cms.uint32(3),
96  nPiZeros = cms.uint32(1),
97  nTracksMin = cms.uint32(2),
98  nChargedPFCandsMin = cms.uint32(1),
99  minMass = cms.double(0.9),
100  maxMass = cms.string("1.6"),
101  # for XProng0Pi0 decay modes bending corrections are transparent
102  applyBendCorrection = cms.PSet(
103  eta = cms.bool(False),
104  phi = cms.bool(False),
105  mass = cms.bool(False)
106  )
107 )
108 
109 hpsSelectionDiscriminator = cms.EDProducer(
110  "PFRecoTauDiscriminationByHPSSelection",
111  PFTauProducer = cms.InputTag('combinatoricRecoTaus'),
112  Prediscriminants = noPrediscriminants,
113  matchingCone = PFRecoTauPFJetInputs.jetConeSize,
114  minTauPt = cms.double(0.0),
115  decayModes = cms.VPSet(
116  decayMode_1Prong0Pi0,
117  decayMode_1Prong1Pi0,
118  decayMode_1Prong2Pi0,
119  decayMode_2Prong0Pi0,
120  decayMode_2Prong1Pi0,
121  decayMode_3Prong0Pi0,
122  decayMode_3Prong1Pi0
123  ),
124  requireTauChargedHadronsToBeChargedPFCands = cms.bool(False),
125  # CV: require at least one pixel hit for the sum of all tracks
126  minPixelHits = cms.int32(1)
127 )
128 
129 
130