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 if self.runTruthJetTagging and config.dataType() is not DataType.Data:
75
76 alg = config.createAlgorithm( 'CP::JetDecoratorAlg', 'JetPileupLabelAlg' )
77 config.addPrivateTool( 'decorator', 'JetPileupLabelingTool' )
78 alg.jets = config.readName (self.containerName)
79 alg.jetsOut = config.copyName (self.containerName)
80 alg.decorator.RecoJetContainer = alg.jetsOut.replace ('%SYS%', 'NOSYS')
81 alg.decorator.SuppressOutputDependence=True
82
83
84 if config.wantCopy (self.containerName) :
85 alg = config.createAlgorithm( 'CP::AsgShallowCopyAlg', 'JetShallowCopyAlg' )
86 alg.input = config.readName (self.containerName)
87 alg.output = config.copyName (self.containerName)
88 alg.outputType = 'xAOD::JetContainer'
89
90 config.addOutputVar (self.containerName, 'pt', 'pt')
91 config.addOutputVar (self.containerName, 'eta', 'eta', noSys=True)
92 config.addOutputVar (self.containerName, 'phi', 'phi', noSys=True)
93 config.addOutputVar (self.containerName, 'charge', 'charge', noSys=True, enabled=False)
94
95 if self.outputTruthLabelIDs and config.dataType() is not DataType.Data:
96 config.addOutputVar (self.containerName, 'HadronConeExclTruthLabelID', 'HadronConeExclTruthLabelID', noSys=True, auxType="int")
97 config.addOutputVar (self.containerName, 'PartonTruthLabelID', 'PartonTruthLabelID', noSys=True, auxType="int")
98
99
100