Exemplo n.º 1
0
def schedulePostJetMCTruthAugmentations(kernel=None, decorationDressing=None):
    # These augmentations *require* truth jets in order to behave properly
    # Ensure that we are adding it to something
    if kernel is None:
        from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkJob
        kernel = DerivationFrameworkJob
    if hasattr(kernel, 'MCTruthCommonPostJetKernel'):
        # Already there!  Carry on...
        return

    # Tau collections are built separately
    # truth tau matching needs truth jets, truth electrons and truth muons
    from DerivationFrameworkTau.TauTruthCommon import scheduleTauTruthTools
    scheduleTauTruthTools(kernel)
    augmentationToolsList = [DFCommonTruthTauDressingTool]

    #Save the post-shower HT and MET filter values that will make combining filtered samples easier (adds to the EventInfo)
    #from DerivationFrameworkMCTruth.GenFilterToolSetup import DFCommonTruthGenFilter

    # schedule the special truth building tools and add them to a common augmentation; note taus are handled separately below
    #augmentationToolsList += [ DFCommonTruthGenFilter,
    #                          DFCommonTruthQGLabelTool]
    augmentationToolsList = []
    #if decorationDressing is not None:
    #    from DerivationFrameworkMCTruth.DerivationFrameworkMCTruthConf import DerivationFramework__TruthQGDecorationTool
    #    DFCommonTruthDressedWZQGLabelTool = DerivationFramework__TruthQGDecorationTool(name="DFCommonTruthDressedWZQGLabelTool",
    #                                                              JetCollection = "AntiKt4TruthDressedWZJets")
    #    from AthenaCommon.AppMgr import ToolSvc
    #    ToolSvc += DFCommonTruthDressedWZQGLabelTool
    #    augmentationToolsList += [ DFCommonTruthDressedWZQGLabelTool ]
    # SUSY signal decorations
    from DerivationFrameworkSUSY.DecorateSUSYProcess import IsSUSYSignal
    if IsSUSYSignal():
        from DerivationFrameworkSUSY.DecorateSUSYProcess import DecorateSUSYProcess
        augmentationToolsList += DecorateSUSYProcess('MCTruthCommon')
    from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__CommonAugmentation
    kernel += CfgMgr.DerivationFramework__CommonAugmentation(
        "MCTruthCommonPostJetKernel", AugmentationTools=augmentationToolsList)
Exemplo n.º 2
0
    name="SUSY2SkimmingTool", expression=expression)

ToolSvc += SUSY2SkimmingTool

#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    "SUSY2KernelSkim", SkimmingTools=[SUSY2SkimmingTool])

#==============================================================================
# SUSY signal augmentation
#==============================================================================
from DerivationFrameworkSUSY.DecorateSUSYProcess import DecorateSUSYProcess
AugmentationTools += DecorateSUSYProcess("SUSY2")

#==============================================================================
# SUSY background generator filters
#==============================================================================
if globalflags.DataSource() == 'geant4':
    replaceBuggyAntiKt4TruthWZJets(SeqSUSY2)
    ToolSvc += CfgMgr.DerivationFramework__SUSYGenFilterTool(
        "SUSY2GenFilt", SimBarcodeOffset=DerivationFrameworkSimBarcodeOffset)
    AugmentationTools.append(ToolSvc.SUSY2GenFilt)

#==============================================================================
# Augment after skim
#==============================================================================
SeqSUSY2 += CfgMgr.DerivationFramework__DerivationKernel(
    "SUSY2KernelAug",