CMS 3D CMS Logo

PFTauMVAInputDiscriminatorTranslator_cfi.py
Go to the documentation of this file.
1 from __future__ import print_function
2 import FWCore.ParameterSet.Config as cms
3 
4 produceTancMVAInputDiscriminators = cms.EDProducer(
5  "PFTauMVAInputDiscriminantTranslator",
6  pfTauSource = cms.InputTag("shrinkingConePFTauProducer"),
7  # List of MVA inputs to turn into discriminants
8  # Each PFTauDiscirminator corresponds to a variable name
9  # (see RecoTauTag/TauTagTools/src/DiscriminantList.cc)
10  # an index in case of multiple values (i.e. TrackPt) and
11  # a default value in case the desired index does not exist.
12  # If the default value is ommitted, zero is used.
13  discriminants = cms.VPSet(),
14  #discriminants = cms.VPSet(
15  #cms.PSet(
16  #name=cms.string('DecayMode')
17  #),
18  #cms.PSet(name=cms.string('MainTrackPt') ),
19  #cms.PSet(name=cms.string('MainTrackAngle') ),
20  #cms.PSet(name=cms.string('TrackPt'),
21  #indices=cms.vuint32(0,1)),
22  #cms.PSet(name=cms.string('TrackAngle'),
23  #indices=cms.vuint32(0,1),
24  #default=cms.double(1.0)
25  #),
26  #cms.PSet(name=cms.string('PiZeroPt'),
27  #indices=cms.vuint32(0,1),
28  #),
29  #cms.PSet(name=cms.string('PiZeroAngle') ,
30  #indices=cms.vuint32(0,1),
31  #default=cms.double(1.0)
32  #),
33  #cms.PSet(name=cms.string('Dalitz'),
34  #indices=cms.vuint32(0,1),
35  #),
36  #cms.PSet(name=cms.string('InvariantMassOfSignal') ),
37  ##cms.PSet(name=cms.string('InvariantMass') ),
38  #cms.PSet(name=cms.string('Pt') ),
39  #cms.PSet(name=cms.string('Eta') ),
40  #cms.PSet(name=cms.string('OutlierPt'),
41  #indices=cms.vuint32(0,1, 2, 3),
42  #),
43  #cms.PSet(name=cms.string('OutlierAngle'),
44  #indices=cms.vuint32(0,1, 2, 3),
45  #default=cms.double(1.0)
46  #),
47  #cms.PSet(name=cms.string('ChargedOutlierPt'),
48  #indices=cms.vuint32(0,1, 2, 3),
49  #),
50  #cms.PSet(name=cms.string('ChargedOutlierAngle'),
51  #indices=cms.vuint32(0,1, 2, 3),
52  #default=cms.double(1.0)
53  #),
54  #cms.PSet(name=cms.string('NeutralOutlierPt'),
55  #indices=cms.vuint32(0,1, 2, 3),
56  #),
57  #cms.PSet(name=cms.string('NeutralOutlierAngle'),
58  #indices=cms.vuint32(0,1, 2, 3),
59  #default=cms.double(1.0)
60  #),
61  #cms.PSet(name=cms.string('OutlierNCharged')),
62  #cms.PSet(name=cms.string('OutlierN') ),
63  #cms.PSet(name=cms.string('OutlierSumPt') ),
64  #cms.PSet(name=cms.string('OutlierMass') ),
65  #cms.PSet(name=cms.string('ChargedOutlierSumPt') ),
66  #cms.PSet(name=cms.string('NeutralOutlierSumPt') ),
67  ##cms.PSet(name='GammaOccupancy'),
68  ##cms.PSet(name='GammaPt' ),
69  ##cms.PSet(name='FilteredObjectPt' ),
70  ##cms.PSet(name='InvariantMassOfSignalWithFiltered' ),
71  #)
72 )
73 
74 def loadMVAInputsIntoPatTauDiscriminants(thePatTauProducer):
75  return
76  " Add all of the MVA inputs discriminators to the tauID inputs of a patTau Producer "
77  print("Embedding MVA inputs into PAT Tau producer ")
78  patTauIDConfig = thePatTauProducer.tauIDSources
79  for tancInputInfo in produceTancMVAInputDiscriminators.discriminants:
80  name = tancInputInfo.name.value()
81  if hasattr(tancInputInfo, "indices"):
82  # multiple input
83  for index in tancInputInfo.indices:
84  collectionName = name + str(index)
85  setattr(patTauIDConfig, "TaNC"+collectionName, cms.InputTag(
86  "produceTancMVAInputDiscriminators", collectionName))
87  else:
88  # single input
89  setattr(patTauIDConfig, "TaNC"+name, cms.InputTag(
90  "produceTancMVAInputDiscriminators", name))
91 
92 if __name__ == "__main__":
93  class Dummy:
94  pass
95  test = Dummy()
96  test.tauIDSources = cms.PSet()
98  print(test.tauIDSources)
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66
def loadMVAInputsIntoPatTauDiscriminants(thePatTauProducer)
cms.PSet(name=cms.string('InvariantMass') ), cms.PSet(name=cms.string('Pt') ), cms.PSet(name=cms.string('Eta') ), cms.PSet(name=cms.string('OutlierPt'), indices=cms.vuint32(0,1, 2, 3), ), cms.PSet(name=cms.string('OutlierAngle'), indices=cms.vuint32(0,1, 2, 3), default=cms.double(1.0) ), cms.PSet(name=cms.string('ChargedOutlierPt'), indices=cms.vuint32(0,1, 2, 3), ), cms.PSet(name=cms.string('ChargedOutlierAngle'), indices=cms.vuint32(0,1, 2, 3), default=cms.double(1.0) ), cms.PSet(name=cms.string('NeutralOutlierPt'), indices=cms.vuint32(0,1, 2, 3), ), cms.PSet(name=cms.string('NeutralOutlierAngle'), indices=cms.vuint32(0,1, 2, 3), default=cms.double(1.0) ), cms.PSet(name=cms.string('OutlierNCharged')), cms.PSet(name=cms.string('OutlierN') ), cms.PSet(name=cms.string('OutlierSumPt') ), cms.PSet(name=cms.string('OutlierMass') ), cms.PSet(name=cms.string('ChargedOutlierSumPt') ), cms.PSet(name=cms.string('NeutralOutlierSumPt') ), cms.PSet(name='GammaOccupancy'), cms.PSet(name='GammaPt' ), cms.PSet(name='FilteredObjectPt' ), cms.PSet(name='InvariantMassOfSignalWithFiltered' ), )
#define str(s)