test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 )
17 decayMode_1Prong1Pi0 = cms.PSet(
18  nCharged = cms.uint32(1),
19  nPiZeros = cms.uint32(1),
20  nTracksMin = cms.uint32(1),
21  nChargedPFCandsMin = cms.uint32(1),
22  minMass = cms.double(0.3),
23  maxMass = cms.string("max(1.3, min(1.3*sqrt(pt/100.), 4.2))"),
24  assumeStripMass = cms.double(0.1349)
25 )
26 decayMode_1Prong2Pi0 = cms.PSet(
27  nCharged = cms.uint32(1),
28  nPiZeros = cms.uint32(2),
29  nTracksMin = cms.uint32(1),
30  nChargedPFCandsMin = cms.uint32(1),
31  minMass = cms.double(0.4),
32  maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))"),
33  minPi0Mass = cms.double(0.05),
34  maxPi0Mass = cms.double(0.2),
35  # Here the strips are assumed to correspond to photons
36  assumeStripMass = cms.double(0.0)
37 )
38 decayMode_2Prong0Pi0 = cms.PSet(
39  nCharged = cms.uint32(2),
40  nPiZeros = cms.uint32(0),
41  nTracksMin = cms.uint32(2),
42  nChargedPFCandsMin = cms.uint32(1),
43  minMass = cms.double(0.),
44  maxMass = cms.string("1.2")
45 )
46 decayMode_2Prong1Pi0 = cms.PSet(
47  nCharged = cms.uint32(2),
48  nPiZeros = cms.uint32(1),
49  nTracksMin = cms.uint32(2),
50  nChargedPFCandsMin = cms.uint32(1),
51  minMass = cms.double(0.),
52  maxMass = cms.string("max(1.2, min(1.2*sqrt(pt/100.), 4.0))")
53 )
54 decayMode_3Prong0Pi0 = cms.PSet(
55  nCharged = cms.uint32(3),
56  nPiZeros = cms.uint32(0),
57  nTracksMin = cms.uint32(2),
58  nChargedPFCandsMin = cms.uint32(1),
59  minMass = cms.double(0.8),
60  maxMass = cms.string("1.5")
61 )
62 decayMode_3Prong1Pi0 = cms.PSet( #suggestions made by CV
63  nCharged = cms.uint32(3),
64  nPiZeros = cms.uint32(1),
65  nTracksMin = cms.uint32(2),
66  nChargedPFCandsMin = cms.uint32(1),
67  minMass = cms.double(0.9),
68  maxMass = cms.string("1.6")
69 )
70 
71 hpsSelectionDiscriminator = cms.EDProducer(
72  "PFRecoTauDiscriminationByHPSSelection",
73  PFTauProducer = cms.InputTag('combinatoricRecoTaus'),
74  Prediscriminants = noPrediscriminants,
75  matchingCone = PFRecoTauPFJetInputs.jetConeSize,
76  minTauPt = cms.double(0.0),
77  decayModes = cms.VPSet(
78  decayMode_1Prong0Pi0,
79  decayMode_1Prong1Pi0,
80  decayMode_1Prong2Pi0,
81  decayMode_2Prong0Pi0,
82  decayMode_2Prong1Pi0,
83  decayMode_3Prong0Pi0,
84  decayMode_3Prong1Pi0
85  ),
86  requireTauChargedHadronsToBeChargedPFCands = cms.bool(False),
87  # CV: require at least one pixel hit for the sum of all tracks
88  minPixelHits = cms.int32(1)
89 )
90 
91 
92