36 def makeAlgs(self, config):
37
38
39 jetPreselection = config.getFullSelection(self.containerName, self.jetPreselection)
40 if jetPreselection:
41 alg = config.createAlgorithm('CP::AsgSelectionAlg',
42 'FtagPTEtaCutAlg')
43 alg.selectionDecoration = 'selectPtEtaFtag'
44 config.addPrivateTool('selectionTool', 'CP::AsgPtEtaSelectionTool')
45 alg.selectionTool.maxEta = 2.5
46 alg.selectionTool.minPt = 20. * Units.GeV
47 alg.particles = config.readName(self.containerName)
48 alg.preselection = config.getPreselection(self.containerName, '')
49 jetPreselection = "selectPtEtaFtag&&"+jetPreselection
50
51 alg = config.createAlgorithm('CP::BJetCalibrationAlg',
52 'BJetCalibAlg')
53 alg.muons = config.readName(self.muonContainerName)
54 alg.muonPreselection = config.getPreselection(self.muonContainerName,
55 self.muonPreselection)
56 alg.jets = config.readName(self.containerName)
57 alg.jetPreselection = jetPreselection
58 alg.jetsOut = config.copyName(self.containerName)
59
60 config.addPrivateTool('muonInJetTool', 'MuonInJetCorrectionTool')
61
62 if "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets" in alg.jets:
63 alg.muonInJetTool.doLargeR = True
64
65 if self.doPtCorr:
66 config.addPrivateTool('bJetTool', 'BJetCorrectionTool')
67
68
69 alg = config.createAlgorithm( 'CP::AsgEnergyDecoratorAlg', 'EnergyDecoratorBJetCalib' )
70 alg.particles = config.readName (self.containerName)