23 def makeAlgs(self, config):
25 jetContainer = config.originalName(self.containerName)
26 selectionName = f
'{self.Xbbtagger}_{self.XbbWP}'
30 alg = config.createAlgorithm(
'CP::XbbInformationDecoratorAlg',
'XbbInfoAlg' + postfix )
31 config.addPrivateTool(
'selectionTool',
'BTaggingSelectionJsonTool' )
32 alg.selectionTool.MaxEta = 4.5
33 alg.selectionTool.MinPt = 0.
34 alg.selectionTool.TaggerName = self.Xbbtagger
35 alg.selectionTool.JetAuthor = jetContainer
36 alg.selectionTool.OperatingPoint = self.XbbWP
37 alg.selectionTool.JsonConfigFile = self.calibFile
38 alg.preselection = config.getPreselection (self.containerName,
'')
40 alg.taggerDecisionDecoration =
'xbb_select_' + selectionName
41 alg.jets = config.readName (self.containerName)
42 config.addOutputVar (self.containerName,
'xbb_select_' + selectionName, selectionName +
'_select', noSys=
True)
44 if not self.noEffSF
and config.dataType() != DataType.Data:
45 alg = config.createAlgorithm(
'CP::XbbEfficiencyAlg',
46 'XbbSFAlg' + postfix )
47 config.addPrivateTool(
'efficiencyTool',
'BTaggingEfficiencyJsonTool' )
48 alg.efficiencyTool.MaxEta = 4.5
49 alg.efficiencyTool.MinPt = 0.
50 alg.efficiencyTool.TaggerName = self.Xbbtagger
51 alg.efficiencyTool.JetAuthor = jetContainer
52 alg.efficiencyTool.OperatingPoint = self.XbbWP
53 alg.efficiencyTool.JsonConfigFile = self.calibFile
54 alg.preselection = config.getPreselection (self.containerName,
'')
56 alg.scaleFactorDecoration =
'xbb_effSF_' + selectionName +
'_%SYS%'
57 alg.jets = config.readName (self.containerName)
58 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, selectionName +
'_effSF')