42 def makeAlgs (self, config) :
43
44
45 if config.isPhyslite() and self.jetCollection == 'AntiKt4EMPFlowJets' :
46 config.setSourceName (self.containerName, "AnalysisJets", originalName = self.jetCollection)
47 elif config.isPhyslite() and self.jetCollection == 'AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets' :
48 config.setSourceName (self.containerName, "AnalysisLargeRJets", originalName = self.jetCollection)
49 else :
50 config.setSourceName (self.containerName, self.jetCollection, originalName = self.jetCollection)
51
52
53 if self.runOriginalObjectLink :
54 alg = config.createAlgorithm( 'CP::AsgOriginalObjectLinkAlg',
55 'JetOriginalObjectLinkAlg',
56 reentrant=True )
57 alg.baseContainerName = self.jetCollection
58 alg.particles = config.readName (self.containerName)
59 if config.wantCopy (self.containerName) :
60 alg.particlesOut = config.copyName (self.containerName)
61 alg.preselection = config.getPreselection (self.containerName, '')
62
63
64 if (self.runGhostMuonAssociation is None and not config.isPhyslite()) or \
65 (self.runGhostMuonAssociation is True):
66 alg = config.createAlgorithm( 'CP::JetGhostMuonAssociationAlg',
67 'JetGhostMuonAssociationAlg' )
68 alg.jets = config.readName (self.containerName)
69 if config.isPhyslite():
70 alg.muons = "AnalysisMuons"
71 if config.wantCopy (self.containerName) :
72 alg.jetsOut = config.copyName (self.containerName)
73
74
75
76 if (self.runTruthJetTagging or (self.runTruthJetTagging is None)
77 ) and config.dataType() is not DataType.Data:
78
79 alg = config.createAlgorithm( 'CP::JetDecoratorAlg', 'JetPileupLabelAlg' )
80 config.addPrivateTool( 'decorator', 'JetPileupLabelingTool' )
81 alg.jets = config.readName (self.containerName)
82 alg.jetsOut = config.copyName (self.containerName)
83 alg.decorator.RecoJetContainer = alg.jetsOut.replace ('%SYS%', 'NOSYS')
84 alg.decorator.SuppressOutputDependence=True
85
86
87 if config.wantCopy (self.containerName) :
88 alg = config.createAlgorithm( 'CP::AsgShallowCopyAlg', 'JetShallowCopyAlg' )
89 alg.input = config.readName (self.containerName)
90 alg.output = config.copyName (self.containerName)
91
92 config.addOutputVar (self.containerName, 'pt', 'pt')
93 config.addOutputVar (self.containerName, 'eta', 'eta', noSys=True)
94 config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
95 config.addOutputVar (self.containerName, 'charge', 'charge', noSys=True, enabled=False)
96
97 if self.outputTruthLabelIDs and config.dataType() is not DataType.Data:
98 config.addOutputVar (self.containerName, 'HadronConeExclTruthLabelID', 'HadronConeExclTruthLabelID', noSys=True)
99 config.addOutputVar (self.containerName, 'PartonTruthLabelID', 'PartonTruthLabelID', noSys=True)
100
101
102