32 def makeAlgs(self, config):
33
34 jetContainer = config.originalName(self.containerName)
35 selectionName = f'{self.Xbbtagger}_{self.XbbWP}'
36
37
38
39 btagSelectionTool = config.createPublicTool( "BTaggingLargeRSelectionJsonTool", f"XbbLargeRJetSelectionJsonTool_{jetContainer}_{selectionName}")
40
41 btagSelectionToolTypeName = f"{btagSelectionTool.getType()}/{btagSelectionTool.getName()}"
42
43 btagSelectionTool.MaxEta = 4.5
44 btagSelectionTool.MinPt = 0.
45 btagSelectionTool.OutputName = self.Xbbtagger
46 btagSelectionTool.JetAuthor = jetContainer
47 btagSelectionTool.OperatingPoint = self.XbbWP
48 btagSelectionTool.JsonConfigFile = self.calibFile
49
50 alg = config.createAlgorithm( 'CP::XbbInformationDecoratorAlg', 'XbbInfoAlg' )
51 alg.selectionTool = btagSelectionToolTypeName
52 alg.preselection = config.getPreselection (self.containerName, '')
53
54 alg.taggerDecisionDecoration = 'xbb_select_' + selectionName
55 alg.jets = config.readName (self.containerName)
56 config.addOutputVar (self.containerName, 'xbb_select_' + selectionName, selectionName + '_select', noSys=True, auxType="int")
57
58 if not self.noEffSF and config.dataType() != DataType.Data:
59 alg = config.createAlgorithm( 'CP::XbbEfficiencyAlg',
60 'XbbSFAlg' )
61 config.addPrivateTool('efficiencyTool', 'BTaggingLargeREfficiencyJsonTool' )
62 alg.efficiencyTool.MaxEta = 4.5
63 alg.efficiencyTool.MinPt = 0.
64 alg.efficiencyTool.OutputName = self.Xbbtagger
65 alg.efficiencyTool.JetAuthor = jetContainer
66 alg.efficiencyTool.OperatingPoint = self.XbbWP
67 alg.efficiencyTool.JsonConfigFile = self.calibFile
68
69
70 mcGenerator = MCMC_dsid_map(config.geometry(), config.generatorInfo(), self.generator, self.Xbbtagger)
71 alg.efficiencyTool.MCGenerator = mcGenerator
72
73
74 alg.efficiencyTool.btagSelectionJsonTool = btagSelectionToolTypeName
75
76 alg.preselection = config.getPreselection (self.containerName, '')
77 alg.outOfValidity = 2
78 alg.outOfValidityDeco = 'no_xbb_' + selectionName + ',as_char'
79
80 alg.scaleFactorDecoration = 'xbb_effSF_' + selectionName + '_%SYS%'
81 alg.jets = config.readName (self.containerName)
82 config.addOutputVar (self.containerName, alg.scaleFactorDecoration, selectionName + '_effSF', auxType="float")