35 def makeAlgs (self, config) :
37 postfix = self.postfix
38 if postfix !=
'' and postfix[0] !=
'_' :
39 postfix =
'_' + postfix
41 inputContainer =
"DiTauJets"
42 if self.inputContainer:
43 inputContainer = self.inputContainer
44 config.setSourceName (self.containerName, inputContainer)
47 if self.rerunTruthMatching
and config.dataType()
is not DataType.Data:
48 alg = config.createAlgorithm(
'CP::DiTauTruthMatchingAlg',
49 'DiTauTruthMatchingAlg' )
50 config.addPrivateTool(
'matchingTool',
51 'TauAnalysisTools::DiTauTruthMatchingTool' )
52 alg.taus = config.readName (self.containerName)
53 alg.preselection = config.getPreselection (self.containerName,
'')
57 if self.decorateTruth
and self.rerunTruthMatching
and config.dataType()
is not DataType.Data:
60 config.addOutputVar (self.containerName,
'TruthVisLeadPt',
'TruthVisLeadPt', noSys=
True)
61 config.addOutputVar (self.containerName,
'TruthVisLeadEta',
'TruthVisLeadEta', noSys=
True)
62 config.addOutputVar (self.containerName,
'TruthVisLeadPhi',
'TruthVisLeadPhi', noSys=
True)
63 config.addOutputVar (self.containerName,
'TruthVisLeadM',
'TruthVisLeadM', noSys=
True)
64 config.addOutputVar (self.containerName,
'TruthLeadPdgID',
'TruthLeadPdgID', noSys=
True)
65 config.addOutputVar (self.containerName,
'TruthVisSubleadPt',
'TruthVisSubleadPt', noSys=
True)
66 config.addOutputVar (self.containerName,
'TruthVisSubleadEta',
'TruthVisSubleadEta', noSys=
True)
67 config.addOutputVar (self.containerName,
'TruthVisSubleadPhi',
'TruthVisSubleadPhi', noSys=
True)
68 config.addOutputVar (self.containerName,
'TruthVisSubleadM',
'TruthVisSubleadM', noSys=
True)
69 config.addOutputVar (self.containerName,
'TruthSubleadPdgID',
'TruthSubleadPdgID', noSys=
True)
70 config.addOutputVar (self.containerName,
'TruthVisDeltaR',
'TruthVisDeltaR', noSys=
True)
71 config.addOutputVar (self.containerName,
'TruthVisMass',
'TruthVisMass', noSys=
True)
72 config.addOutputVar (self.containerName,
'IsTruthMatched',
'IsTruthMatched', noSys=
True)
73 config.addOutputVar (self.containerName,
'IsTruthHadronic',
'IsTruthHadronic', noSys=
True)
76 if self.decorateExtraVariables:
77 alg = config.createAlgorithm(
'CP::DiTauExtraVariablesAlg',
78 'DiTauExtraVariablesAlg',
80 alg.ditaus = config.readName (self.containerName)
81 config.addOutputVar (self.containerName,
'leadSubjetPt',
'leadSubjetPt', noSys=
True)
82 config.addOutputVar (self.containerName,
'leadSubjetEta',
'leadSubjetEta', noSys=
True)
83 config.addOutputVar (self.containerName,
'leadSubjetPhi',
'leadSubjetPhi', noSys=
True)
84 config.addOutputVar (self.containerName,
'leadSubjetE',
'leadSubjetE', noSys=
True)
85 config.addOutputVar (self.containerName,
'subleadSubjetPt',
'subleadSubjetPt', noSys=
True)
86 config.addOutputVar (self.containerName,
'subleadSubjetEta',
'subleadSubjetEta', noSys=
True)
87 config.addOutputVar (self.containerName,
'subleadSubjetPhi',
'subleadSubjetPhi', noSys=
True)
88 config.addOutputVar (self.containerName,
'subleadSubjetE',
'subleadSubjetE', noSys=
True)
91 alg = config.createAlgorithm(
'CP::DiTauSmearingAlg',
'DiTauSmearingAlg' )
92 config.addPrivateTool(
'smearingTool',
'TauAnalysisTools::DiTauSmearingTool' )
93 alg.taus = config.readName (self.containerName)
94 alg.tausOut = config.copyName (self.containerName)
95 alg.preselection = config.getPreselection (self.containerName,
'')
98 config.addOutputVar (self.containerName,
'pt',
'pt')
99 config.addOutputVar (self.containerName,
'eta',
'eta', noSys=
True)
100 config.addOutputVar (self.containerName,
'phi',
'phi', noSys=
True)
101 config.addOutputVar (self.containerName,
'm',
'm', noSys=
True)