3 from AnalysisAlgorithmsConfig.ConfigBlock
import ConfigBlock
7 """ConfigBlock for particle-level truth jets"""
10 super(ParticleLevelJetsBlock, self).
__init__()
11 self.addOption(
'containerName',
'AntiKt4TruthDressedWZJets', type=str,
12 info=
'the name of the input truth jets container')
13 self.addOption(
'outputTruthLabelIDs',
False, type=bool,
14 info=
'Enable or disable HadronConeExclTruthLabelID and PartonTruthLabelID decorations')
16 self.setOptionValue(
'skipOnData',
True)
19 """Return the instance name for this block"""
20 return self.containerName
23 config.setSourceName (self.containerName, self.containerName)
26 if "AntiKt4" in self.containerName:
27 alg = config.createAlgorithm(
'CP::ParticleLevelJetsAlg',
28 'ParticleLevelJetsAlg',
30 alg.jets = self.containerName
33 alg = config.createAlgorithm(
'CP::AsgEnergyDecoratorAlg',
'ParticleLevelEnergyDecorator' )
34 alg.particles = self.containerName
41 [
'GhostBHadronsFinalCount',
'nGhosts_bHadron'],
42 [
'GhostCHadronsFinalCount',
'nGhosts_cHadron'],
45 if self.outputTruthLabelIDs:
47 [
'HadronConeExclTruthLabelID',
'HadronConeExclTruthLabelID'],
48 [
'PartonTruthLabelID',
'PartonTruthLabelID'],
51 for decoration, branch
in outputVars:
52 config.addOutputVar (self.containerName, decoration, branch, noSys=
True)
54 if "AntiKt4" in self.containerName:
55 config.addOutputVar(
'EventInfo',
'num_truth_bjets_nocuts',
'num_truth_bjets_nocuts', noSys=
True)
56 config.addOutputVar(
'EventInfo',
'num_truth_cjets_nocuts',
'num_truth_cjets_nocuts', noSys=
True)