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