CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
RecoTauPiZeroBuilderPlugins_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 '''
4 
5 Configuration for Pi Zero producer plugins.
6 
7 Author: Evan K. Friis, UC Davis
8 
9 
10 '''
11 from RecoTauTag.RecoTau.PFRecoTauQualityCuts_cfi import PFTauQualityCuts
12 
13 # Produce a PiZero candidate for each photon - the "trivial" case
14 allSinglePhotons = cms.PSet(
15  name = cms.string("1"),
16  plugin = cms.string("RecoTauPiZeroTrivialPlugin"),
17  qualityCuts = PFTauQualityCuts,
18 )
19 
20 # Produce a PiZero candidate for each possible photon pair
21 combinatoricPhotonPairs = cms.PSet(
22  name = cms.string("2"),
23  plugin = cms.string("RecoTauPiZeroCombinatoricPlugin"),
24  qualityCuts = PFTauQualityCuts,
25  # Determine the maximum number of PiZeros to use. -1 for all
26  maxInputGammas = cms.uint32(10),
27  # Mass constraints taken care of during cleaning.
28  minMass = cms.double(0.0),
29  maxMass = cms.double(-1.0),
30  choose = cms.uint32(2),
31 )
32 
33 # Produce a "strips" of photons
34 strips = cms.PSet(
35  name = cms.string("s"),
36  plugin = cms.string("RecoTauPiZeroStripPlugin"),
37  qualityCuts = PFTauQualityCuts,
38  # Clusterize photons and electrons (PF numbering)
39  stripCandidatesParticleIds = cms.vint32(2, 4),
40  stripEtaAssociationDistance = cms.double(0.05),
41  stripPhiAssociationDistance = cms.double(0.2),
42  makeCombinatoricStrips = cms.bool(False)
43 )
44 
45 comboStrips = cms.PSet(
46  name = cms.string("cs"),
47  plugin = cms.string("RecoTauPiZeroStripPlugin"),
48  qualityCuts = PFTauQualityCuts,
49  # Clusterize photons and electrons (PF numbering)
50  stripCandidatesParticleIds = cms.vint32(2, 4),
51  stripEtaAssociationDistance = cms.double(0.05),
52  stripPhiAssociationDistance = cms.double(0.2),
53  makeCombinatoricStrips = cms.bool(True),
54  maxInputStrips = cms.int32(5),
55  stripMassWhenCombining = cms.double(0.0), # assume photon like
56 )
57 
58 # Produce a "strips" of photons
59 # with no track quality cuts applied to PFElectrons
60 modStrips = strips.clone(
61  plugin = cms.string('RecoTauPiZeroStripPlugin2'),
62  applyElecTrackQcuts = cms.bool(False),
63  minGammaEtStripSeed = cms.double(0.5),
64  minGammaEtStripAdd = cms.double(0.),
65  minStripEt = cms.double(1.0),
66  updateStripAfterEachDaughter = cms.bool(False),
67  maxStripBuildIterations = cms.int32(-1)
68 )
69 
70 # Produce a "strips" of photons
71 # with no track quality cuts applied to PFElectrons
72 # and eta x phi size of strip increasing for low pT photons
73 modStrips2 = strips.clone(
74  plugin = cms.string('RecoTauPiZeroStripPlugin3'),
75  applyElecTrackQcuts = cms.bool(False),
76  minGammaEtStripSeed = cms.double(0.5),
77  minGammaEtStripAdd = cms.double(0.),
78  minStripEt = cms.double(0.5),
79  # CV: parametrization of strip size in eta and phi determined by Yuta Takahashi,
80  # chosen to contain 95% of photons from tau decays
81  stripEtaAssociationDistance = cms.PSet(
82  function = cms.string("TMath::Min(0.15, TMath::Max(0.05, [0]*TMath::Power(pT, -[1])))"),
83  par0 = cms.double(1.97077e-01),
84  par1 = cms.double(6.58701e-01)
85  ),
86  stripPhiAssociationDistance = cms.PSet(
87  function = cms.string("TMath::Min(0.3, TMath::Max(0.05, [0]*TMath::Power(pT, -[1])))"),
88  par0 = cms.double(3.52476e-01),
89  par1 = cms.double(7.07716e-01)
90  ),
91  updateStripAfterEachDaughter = cms.bool(False),
92  maxStripBuildIterations = cms.int32(-1)
93 )