36 def makeAlgs (self, config) :
37
38 postfix = self.postfix
39 if postfix != '' and postfix[0] != '_' :
40 postfix = '_' + postfix
41
42 inputContainer = "DiTauJets"
43 if self.inputContainer:
44 inputContainer = self.inputContainer
45 config.setSourceName (self.containerName, inputContainer)
46
47
48 if self.rerunTruthMatching and config.dataType() is not DataType.Data:
49 alg = config.createAlgorithm( 'CP::DiTauTruthMatchingAlg',
50 'DiTauTruthMatchingAlg' )
51 config.addPrivateTool( 'matchingTool',
52 'TauAnalysisTools::DiTauTruthMatchingTool' )
53 alg.taus = config.readName (self.containerName)
54 alg.preselection = config.getPreselection (self.containerName, '')
55
56
57
58 if self.decorateTruth and self.rerunTruthMatching and config.dataType() is not DataType.Data:
59
60
61 config.addOutputVar (self.containerName, 'TruthVisLeadPt', 'TruthVisLeadPt', noSys=True)
62 config.addOutputVar (self.containerName, 'TruthVisLeadEta', 'TruthVisLeadEta', noSys=True)
63 config.addOutputVar (self.containerName, 'TruthVisLeadPhi', 'TruthVisLeadPhi', noSys=True)
64 config.addOutputVar (self.containerName, 'TruthVisLeadM', 'TruthVisLeadM', noSys=True)
65 config.addOutputVar (self.containerName, 'TruthLeadPdgID', 'TruthLeadPdgID', noSys=True)
66 config.addOutputVar (self.containerName, 'TruthVisSubleadPt', 'TruthVisSubleadPt', noSys=True)
67 config.addOutputVar (self.containerName, 'TruthVisSubleadEta', 'TruthVisSubleadEta', noSys=True)
68 config.addOutputVar (self.containerName, 'TruthVisSubleadPhi', 'TruthVisSubleadPhi', noSys=True)
69 config.addOutputVar (self.containerName, 'TruthVisSubleadM', 'TruthVisSubleadM', noSys=True)
70 config.addOutputVar (self.containerName, 'TruthSubleadPdgID', 'TruthSubleadPdgID', noSys=True)
71 config.addOutputVar (self.containerName, 'TruthVisDeltaR', 'TruthVisDeltaR', noSys=True)
72 config.addOutputVar (self.containerName, 'TruthVisMass', 'TruthVisMass', noSys=True)
73 config.addOutputVar (self.containerName, 'IsTruthMatched', 'IsTruthMatched', noSys=True)
74 config.addOutputVar (self.containerName, 'IsTruthHadronic', 'IsTruthHadronic', noSys=True)
75
76
77 if self.decorateExtraVariables:
78 alg = config.createAlgorithm( 'CP::DiTauExtraVariablesAlg',
79 'DiTauExtraVariablesAlg',
80 reentrant=True )
81 alg.ditaus = config.readName (self.containerName)
82 config.addOutputVar (self.containerName, 'omniScore', 'omniScore', noSys=True)
83 config.addOutputVar (self.containerName, 'nSubjets', 'nSubjets', noSys=True)
84 config.addOutputVar (self.containerName, 'leadSubjetPt', 'leadSubjetPt', noSys=True)
85 config.addOutputVar (self.containerName, 'leadSubjetEta', 'leadSubjetEta', noSys=True)
86 config.addOutputVar (self.containerName, 'leadSubjetPhi', 'leadSubjetPhi', noSys=True)
87 config.addOutputVar (self.containerName, 'leadSubjetE', 'leadSubjetE', noSys=True)
88 config.addOutputVar (self.containerName, 'leadSubjetNTracks', 'leadSubjetNTracks', noSys=True)
89 config.addOutputVar (self.containerName, 'leadSubjetCharge', 'leadSubjetCharge', noSys=True)
90 config.addOutputVar (self.containerName, 'subleadSubjetPt', 'subleadSubjetPt', noSys=True)
91 config.addOutputVar (self.containerName, 'subleadSubjetEta', 'subleadSubjetEta', noSys=True)
92 config.addOutputVar (self.containerName, 'subleadSubjetPhi', 'subleadSubjetPhi', noSys=True)
93 config.addOutputVar (self.containerName, 'subleadSubjetE', 'subleadSubjetE', noSys=True)
94 config.addOutputVar (self.containerName, 'subleadSubjetNTracks', 'subleadSubjetNTracks', noSys=True)
95 config.addOutputVar (self.containerName, 'subleadSubjetCharge', 'subleadSubjetCharge', noSys=True)
96
97
98 alg = config.createAlgorithm( 'CP::DiTauSmearingAlg', 'DiTauSmearingAlg' )
99 config.addPrivateTool( 'smearingTool', 'TauAnalysisTools::DiTauSmearingTool' )
100 alg.taus = config.readName (self.containerName)
101 alg.tausOut = config.copyName (self.containerName)
102 alg.preselection = config.getPreselection (self.containerName, '')
103
104
105 config.addOutputVar (self.containerName, 'pt', 'pt')
106 config.addOutputVar (self.containerName, 'eta', 'eta', noSys=True)
107 config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
108 config.addOutputVar (self.containerName, 'm', 'm', noSys=True)
109
110
111