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)
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",