35 selectionName = f
'{self.Xbbtagger}_{self.XbbWP}'
39 btagSelectionTool = config.createPublicTool(
"BTaggingLargeRSelectionJsonTool", f
"XbbLargeRJetSelectionJsonTool_{jetContainer}_{selectionName}")
41 btagSelectionToolTypeName = f
"{btagSelectionTool.getType()}/{btagSelectionTool.getName()}"
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
50 alg = config.createAlgorithm(
'CP::XbbInformationDecoratorAlg',
'XbbInfoAlg' )
51 alg.selectionTool = btagSelectionToolTypeName
52 alg.preselection = config.getPreselection (self.
containerName,
'')
54 alg.taggerDecisionDecoration =
'xbb_select_' + selectionName
56 config.addOutputVar (self.
containerName,
'xbb_select_' + selectionName, selectionName +
'_select', noSys=
True, auxType=
"int")
58 if not self.noEffSF
and config.dataType() != DataType.Data:
59 alg = config.createAlgorithm(
'CP::XbbEfficiencyAlg',
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
70 mcGenerator = MCMC_dsid_map(config.geometry(), config.generatorInfo(), self.generator, self.Xbbtagger)
71 alg.efficiencyTool.MCGenerator = mcGenerator
74 alg.efficiencyTool.btagSelectionJsonTool = btagSelectionToolTypeName
76 alg.preselection = config.getPreselection (self.
containerName,
'')
78 alg.outOfValidityDeco =
'no_xbb_' + selectionName +
',as_char'
80 alg.scaleFactorDecoration =
'xbb_effSF_' + selectionName +
'_%SYS%'
82 config.addOutputVar (self.
containerName, alg.scaleFactorDecoration, selectionName +
'_effSF', auxType=
"float")