CMS 3D CMS Logo

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  verbosity = cms.int32(0)
44 )
45 
46 comboStrips = strips.clone(
47  name = cms.string("cs"),
48  plugin = cms.string("RecoTauPiZeroStripPlugin"),
49  makeCombinatoricStrips = cms.bool(True),
50  maxInputStrips = cms.int32(5),
51  stripMassWhenCombining = cms.double(0.0), # assume photon like
52 )
53 
54 # Produce a "strips" of photons
55 # with no track quality cuts applied to PFElectrons
56 modStrips = strips.clone(
57  plugin = cms.string('RecoTauPiZeroStripPlugin2'),
58  applyElecTrackQcuts = cms.bool(False),
59  minGammaEtStripSeed = cms.double(1.0),
60  minGammaEtStripAdd = cms.double(1.0),
61  minStripEt = cms.double(1.0),
62  updateStripAfterEachDaughter = cms.bool(False),
63  maxStripBuildIterations = cms.int32(-1),
64 )
65 
66 # Produce a "strips" of photons
67 # with no track quality cuts applied to PFElectrons
68 # and eta x phi size of strip increasing for low pT photons
69 
70 modStrips2 = strips.clone(
71  plugin = cms.string('RecoTauPiZeroStripPlugin3'),
72  qualityCuts = PFTauQualityCuts,
73  applyElecTrackQcuts = cms.bool(False),
74  stripEtaAssociationDistanceFunc = cms.PSet(
75  function = cms.string("TMath::Min(0.15, TMath::Max(0.05, [0]*TMath::Power(pT, -[1])))"),
76  par0 = cms.double(1.97077e-01),
77  par1 = cms.double(6.58701e-01)
78  ),
79  stripPhiAssociationDistanceFunc = cms.PSet(
80  function = cms.string("TMath::Min(0.3, TMath::Max(0.05, [0]*TMath::Power(pT, -[1])))"),
81  par0 = cms.double(3.52476e-01),
82  par1 = cms.double(7.07716e-01)
83  ),
84  makeCombinatoricStrips = cms.bool(False),
85  minGammaEtStripSeed = cms.double(1.0),
86  minGammaEtStripAdd = cms.double(1.0),
87  minStripEt = cms.double(1.0),
88  # CV: parametrization of strip size in eta and phi determined by Yuta Takahashi,
89  # chosen to contain 95% of photons from tau decays
90  updateStripAfterEachDaughter = cms.bool(False),
91  maxStripBuildIterations = cms.int32(-1),
92 )