Exemple #1
0
 def _make_slimming_tools(self, stream, jet_algorithms):
     self.slimming_helper = SlimmingHelper(self.stream_name + "SlimmingHelper")
     smart_collections = ["Electrons", "Muons", "Photons", "TauJets", "PrimaryVertices", "InDetTrackParticles"]
     smart_collections += ["{0}Jets".format(a) for a in jet_algorithms]
     smart_collections += ["MET_Reference_{0}".format(a) for a in jet_algorithms]
     if "AntiKt4EMTopo" in jet_algorithms:
         smart_collections += [
                 "AntiKt4EMTopoJets_BTagging201810", "BTagging_AntiKt4EMTopo_201810"]
     if "AntiKt4EMPFlow" in jet_algorithms:
         smart_collections += [
                 "AntiKt4EMPFlowJets_BTagging201810", "BTagging_AntiKt4EMPFlow_201810",
                 "AntiKt4EMPFlowJets_BTagging201903", "BTagging_AntiKt4EMPFlow_201903"]
     self.slimming_helper.SmartCollections = smart_collections
     self.slimming_helper.ExtraVariables = [
             "{0}Jets.Timing".format(a) for a in jet_algorithms]
     self.slimming_helper.AllVariables = [
             "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET",
             "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_mht",
             "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PS",
             "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl_PUC",
             "HLT_xAOD__TrigMissingETContainer_TrigEFMissingET_topocl",
             "LVL1EnergySumRoI",
             "LVL1JetRoIs",
             "LVL1JetEtRoI"] \
                     + ["MET_Core_{0}".format(a) for a in jet_algorithms] \
                     + ["METAssoc_{0}".format(a) for a in jet_algorithms] \
                     + self.all_vars
Exemple #2
0
    def Config(self, stream, configKey):
        ### smart sliming
        from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
        SlHelper = SlimmingHelper(configKey+"SlimmingHelper")
        SlHelper.SmartCollections = self.smSlContainer[configKey]
        useSmartSlimmingIfSupported(self.checkContainers.get(configKey, []),self.allVarContainer[configKey], self.Items[configKey], SlHelper.NamesAndTypes)
        SlHelper.AllVariables = self.allVarContainer[configKey]
#         SlHelper.StaticContent = self.Items[configKey]
#         SlHelper.ExtraVariables = self.extraVariables.get(configKey, [])
        SlHelper.IncludeMuonTriggerContent = self.UseTriggerContent.get(configKey, True)
        SlHelper.AppendContentToStream(stream)

        ### other items
        for item in self.Items[configKey]:
            stream.AddItem(item)
Exemple #3
0
DerivationFrameworkJob += exot0Seq
exot0Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT0Kernel_skim", SkimmingTools = [EXOT0SkimmingTool])
exot0Seq += CfgMgr.DerivationFramework__DerivationKernel("EXOT0Kernel", ThinningTools = thinningTools)

#====================================================================
# SET UP STREAM   
#====================================================================
streamName = derivationFlags.WriteDAOD_EXOT0Stream.StreamName
fileName   = buildFileName( derivationFlags.WriteDAOD_EXOT0Stream )
EXOT0Stream = MSMgr.NewPoolRootStream( streamName, fileName )
EXOT0Stream.AcceptAlgs(["EXOT0Kernel"])
# Thinning 
from AthenaServices.Configurables import ThinningSvc, createThinningSvc
augStream = MSMgr.GetStream( streamName )
evtStream = augStream.GetEventStream()
svcMgr += createThinningSvc( svcName="EXOT0ThinningSvc", outStreams=[evtStream] )

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkExotics.EXOT0ContentList import *
EXOT0SlimmingHelper = SlimmingHelper("EXOT0SlimmingHelper")
EXOT0SlimmingHelper.StaticContent = EXOT0Content
EXOT0SlimmingHelper.AllVariables = EXOT0AllVariables
EXOT0SlimmingHelper.SmartCollections = EXOT0SmartCollections
EXOT0SlimmingHelper.IncludeEGammaTriggerContent = True
EXOT0SlimmingHelper.IncludeMuonTriggerContent = True
EXOT0SlimmingHelper.AppendContentToStream(EXOT0Stream)

Exemple #4
0
    from DerivationFrameworkCore.LHE3WeightMetadata import *

DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel("MUON5Kernel",
                                                                       ThinningTools     = thinningTools,
                                                                       AugmentationTools = augmentationTools,
                                                                       SkimmingTools     = [MUON5SkimmingTool])
# Add private sequence to DerivationFrameworkJob
DerivationFrameworkJob += MUON5Seq

#====================================================================
# SLIMMING TOOL
#====================================================================

from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper

MUON5SlimmingHelper = SlimmingHelper("MUON5SlimmingHelper")

# Smart slimming containers
MUON5SlimmingHelper.SmartCollections = ["Electrons",
                                        "Photons",
                                        "Muons",
                                        "TauJets",
                                        "TauMVATESJets",
                                        "MET_Reference_AntiKt4EMTopo",
                                        "AntiKt4EMTopoJets",
                                        "AntiKt4EMTopoJets_BTagging201810",
                                        "BTagging_AntiKt4EMTopo_201810",
                                        "PrimaryVertices"]
                                        

# Append new b-tagging container to dictionary for saving
Exemple #5
0
#====================================================================

if DerivationFrameworkIsMonteCarlo:
  from DerivationFrameworkMCTruth.MCTruthCommon import addStandardTruthContents,addTopQuarkAndDownstreamParticles,addHFAndDownstreamParticles,addTruthCollectionNavigationDecorations
  addStandardTruthContents()
  addTopQuarkAndDownstreamParticles()
  addHFAndDownstreamParticles(addB=True, addC=False, generations=0)
  addTruthCollectionNavigationDecorations(TruthCollections=["TruthTopQuarkWithDecayParticles","TruthBosonsWithDecayParticles"],prefix='Top')
  import DerivationFrameworkCore.WeightMetadata
  import DerivationFrameworkCore.LHE3WeightMetadata

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
JETM6SlimmingHelper = SlimmingHelper("JETM6SlimmingHelper")
JETM6SlimmingHelper.SmartCollections = ["Electrons",
                                        "Photons",
                                        "Muons",
                                        "TauJets",
                                        "InDetTrackParticles",
                                        "PrimaryVertices",
                                        "MET_Reference_AntiKt4EMTopo",
                                        "MET_Reference_AntiKt4EMPFlow",
                                        "AntiKt2TruthJets",
                                        "AntiKt2LCTopoJets",
                                        "AntiKt4EMTopoJets","AntiKt4EMPFlowJets","AntiKt4TruthJets",
                                        "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
                                        "AntiKt10UFOCHSTrimmedPtFrac5SmallR20Jets",
                                        "AntiKt10UFOCSSKTrimmedPtFrac5SmallR20Jets",
                                        "AntiKt10UFOCSSKSoftDropBeta100Zcut10Jets",
fileName = buildFileName(derivationFlags.WriteDAOD_HIGG6D1Stream)
HIGG6D1Stream = MSMgr.NewPoolRootStream(streamName, fileName)
HIGG6D1Stream.AcceptAlgs(["HIGG6D1Kernel"])
# Special lines for thinning
# Thinning service name must match the one passed to the thinning tools
from AthenaServices.Configurables import ThinningSvc, createThinningSvc
augStream = MSMgr.GetStream(streamName)
evtStream = augStream.GetEventStream()
svcMgr += createThinningSvc(svcName="HIGG6D1ThinningSvc",
                            outStreams=[evtStream])

#====================================================================
# Add the containers to the output stream - slimming done here (smart slimming)
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
HIGG6D1SlimmingHelper = SlimmingHelper("HIGG6D1SlimmingHelper")

## Smart Slimming
HIGG6D1SlimmingHelper.SmartCollections = [
    "Electrons", "Muons", "TauJets", "MET_Reference_AntiKt4LCTopo",
    "MET_Reference_AntiKt4EMTopo", "AntiKt4LCTopoJets", "AntiKt4EMTopoJets",
    "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "InDetTrackParticles",
    "PrimaryVertices"
]

## Add extra variables
HIGG6D1SlimmingHelper.ExtraVariables += [
    "AntiKt4EMTopoJets.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta"
]
HIGG6D1SlimmingHelper.ExtraVariables += [
    "TauJets.BDTEleScore.pantau_CellBasedInput_isPanTauCandidate.pantau_CellBasedInput_DecayMode.ptPanTauCellBased.etaPanTauCellBased.phiPanTauCellBased.mPanTauCellBased.pantau_CellBasedInput_BDTValue_1p0n_vs_1p1n.pantau_CellBasedInput_BDTValue_1p1n_vs_1pXn.pantau_CellBasedInput_BDTValue_3p0n_vs_3pXn",
Exemple #7
0
applyJetCalibration_xAODColl("AntiKt4EMTopo", exot8Seq)
#applyJetCalibration_xAODColl("AntiKt4LCTopo", exot8Seq)
applyJetCalibration_CustomColl("AntiKt10LCTopoTrimmedPtFrac5SmallR20",
                               exot8Seq)

exot8Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT8Kernel_skim", SkimmingTools=[EXOT8SkimmingTool])

exot8Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT8Kernel", ThinningTools=thinningTools)

#
# Add the containers to the output stream - slimming done here
#
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
EXOT8SlimmingHelper = SlimmingHelper("EXOT8SlimmingHelper")

# from DerivationFrameworkExotics.EXOT8ContentList import EXOT8AllVariablesContent, EXOT8SmartContent, EXOT8Content
# EXOT8SlimmingHelper.SmartCollections = EXOT8SmartContent
# EXOT8SlimmingHelper.AllVariables     = EXOT8AllVariablesContent
# EXOT8SlimmingHelper.UserContent      = EXOT8Content

EXOT8SlimmingHelper.SmartCollections = [
    "AntiKt4EMTopoJets",
    "AntiKt4LCTopoJets",
    "BTagging_AntiKt4LCTopo",
    "BTagging_AntiKt4EMTopo",
    "BTagging_AntiKt2Track",
    "BTagging_AntiKt3Track",
    "BTagging_AntiKt4Track",
    "InDetTrackParticles",
Exemple #8
0
#==============================================================================
# Augment after skim
#==============================================================================
SeqSUSY2 += CfgMgr.DerivationFramework__DerivationKernel(
    "SUSY2KernelAug",
    AugmentationTools=AugmentationTools,
    ThinningTools=thinningTools,
)

#====================================================================
# CONTENT LIST
#====================================================================
# This might be the kind of set-up one would have for a muon based analysis
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
SUSY2SlimmingHelper = SlimmingHelper("SUSY2SlimmingHelper")
SUSY2SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo",
    "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles",
    "PrimaryVertices"
]
SUSY2SlimmingHelper.AllVariables = [
    "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth"
]
SUSY2SlimmingHelper.ExtraVariables = [
    "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant",
    "Muons.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag",
    "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500",
    "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix.truthOrigin.truthType",
    "InDetTrackParticles.truthOrigin.truthType",
    "CombinedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType",
DerivationFrameworkJob += higg5d2Seq

# # Thinning
# from AthenaServices.Configurables import ThinningSvc, createThinningSvc
# augStream = MSMgr.GetStream( streamName )
# evtStream = augStream.GetEventStream()
# svcMgr += createThinningSvc( svcName="HIGG5D2ThinningSvc", outStreams=[evtStream] )

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
#from DerivationFrameworkHiggs.HIGG5D2ContentList import HIGG5D2Content
from DerivationFrameworkHiggs.HIGG5D2ExtraContent import *
HIGG5D2SlimmingHelper = SlimmingHelper("HIGG5D2SlimmingHelper")

HIGG5D2SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo",
    "MET_Reference_AntiKt4LCTopo", "AntiKt4EMTopoJets", "AntiKt4LCTopoJets",
    "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4LCTopo", "InDetTrackParticles",
    "PrimaryVertices"
]

HIGG5D2SlimmingHelper.ExtraVariables = ExtraContent
HIGG5D2SlimmingHelper.AllVariables = ExtraContainers
if globalflags.DataSource() == 'geant4':
    HIGG5D2SlimmingHelper.ExtraVariables += ExtraContentTruth
    HIGG5D2SlimmingHelper.AllVariables += ExtraContainersTruth

# Add the jet containers to the stream
Exemple #10
0
    ThinningTools=thinningTools,
)

#=======================================
# add jet building, cf. example in JETM1
#=======================================

# AntiKt10*PtFrac5Rclus20
addDefaultTrimmedJets(SeqSUSY5, "SUSY5")

#====================================================================
# CONTENT LIST
#====================================================================
# This might be the kind of set-up one would have for a muon based analysis
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
SUSY5SlimmingHelper = SlimmingHelper("SUSY5SlimmingHelper")
SUSY5SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "AntiKt4EMTopoJets",
    "MET_Reference_AntiKt4EMTopo", "BTagging_AntiKt4EMTopo",
    "InDetTrackParticles", "PrimaryVertices"
]
SUSY5SlimmingHelper.AllVariables = [
    "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth"
]
SUSY5SlimmingHelper.ExtraVariables = [
    "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant",
    "Muons.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag",
    "Photons.author.Loose.Tight",
    "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta.DFCommonJets_Calib_phi",
    "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix",
    "CombinedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType",
Exemple #11
0
#=======================================
# SCHEDULE CUSTOM MET RECONSTRUCTION
#=======================================

if DerivationFrameworkIsMonteCarlo:
    addMETTruthMap('AntiKt4EMTopo', "JETMX")
    addMETTruthMap('AntiKt4LCTopo', "JETMX")
    addMETTruthMap('AntiKt4EMPFlow', "JETMX")
    scheduleMETAssocAlg(jetm7Seq, "JETMX")

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
JETM7SlimmingHelper = SlimmingHelper("JETM7SlimmingHelper")
JETM7SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles",
    "PrimaryVertices", "MET_Reference_AntiKt4EMTopo",
    "MET_Reference_AntiKt4LCTopo", "MET_Reference_AntiKt4EMPFlow",
    "AntiKt4EMTopoJets", "AntiKt4LCTopoJets", "AntiKt4EMPFlowJets",
    "AntiKt4EMPFlowJets_BTagging201810", "AntiKt4EMPFlowJets_BTagging201903",
    "AntiKt4EMTopoJets_BTagging201810", "BTagging_AntiKt4EMPFlow_201810",
    "BTagging_AntiKt4EMPFlow_201903", "BTagging_AntiKt4EMTopo_201810"
]
JETM7SlimmingHelper.AllVariables = [  # "CaloCalTopoClusters",
    "MuonTruthParticles",
    "egammaTruthParticles",
    "TruthParticles",
    "TruthEvents",
    "TruthVertices",
Exemple #12
0
    "TAUP1Kernel",
    SkimmingTools=[TAUP1SkimmingTool],
    ThinningTools=[
        TAUP1MetTPThinningTool, TAUP1JetTPThinningTool,
        TAUP1CaloClusterThinning, TAUP1ElectronTPThinningTool,
        TAUP1MuonTPThinningTool, TAUP1TauTPThinningTool
    ],
    AugmentationTools=augmentationTools)

# ==========================================================================================================================
# Add the containers to the output stream (slimming done here)
# ==========================================================================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkTau.TAUPExtraContent import *

TAUP1SlimmingHelper = SlimmingHelper("TAUP1SlimmingHelper")
TAUP1SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo",
    "MET_Reference_AntiKt4LCTopo", "AntiKt4EMTopoJets", "AntiKt4LCTopoJets",
    "BTagging_AntiKt4EMTopo", "BTagging_AntiKt4LCTopo", "InDetTrackParticles",
    "PrimaryVertices"
]

if DerivationFrameworkIsMonteCarlo:
    TAUP1SlimmingHelper.StaticContent = [
        "xAOD::TruthParticleContainer#TruthElectrons",
        "xAOD::TruthParticleAuxContainer#TruthElectronsAux.",
        "xAOD::TruthParticleContainer#TruthMuons",
        "xAOD::TruthParticleAuxContainer#TruthMuonsAux.",
        "xAOD::TruthParticleContainer#TruthTaus",
        "xAOD::TruthParticleAuxContainer#TruthTausAux.",
Exemple #13
0
#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================

from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    name="JETM4Kernel",
    SkimmingTools=[JETM4SkimmingTool],
    ThinningTools=thinningTools)

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
JETM4SlimmingHelper = SlimmingHelper("JETM4SlimmingHelper")
JETM4SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "InDetTrackParticles",
    "PrimaryVertices"
]
JETM4SlimmingHelper.AllVariables = [
    "BTagging_AntiKt4LCTopo", "BTagging_AntiKt4EMTopo", "CaloCalTopoClusters",
    "MuonTruthParticles", "egammaTruthParticles", "TruthParticles",
    "TruthEvents", "TruthVertices", "MuonSegments"
]
#JETM4SlimmingHelper.ExtraVariables = []

# Trigger content
JETM4SlimmingHelper.IncludeEGammaTriggerContent = True

# Add the jet containers to the stream
def setup(TOPQname, stream):
    DFisMC = (globalflags.DataSource() == 'geant4')

    TOPQSlimmingHelper = SlimmingHelper(TOPQname + "SlimmingHelper")

    #=====================================================
    # ADD BTagging_AntiKt4EMPFlow COLLECTION TO DICTIONARY
    #=====================================================
    TOPQSlimmingHelper.AppendToDictionary = {
        "BTagging_AntiKt4EMPFlow": "xAOD::BTaggingContainer",
        "BTagging_AntiKt4EMPFlowAux": "xAOD::BTaggingAuxContainer"
    }

    #================================
    # SMART SLIMMING
    #================================
    TOPQSlimmingHelper.SmartCollections = []
    TOPQSlimmingHelper.SmartCollections += TOPQSmartSlimmingCollections

    print "TOPQSlimmingHelper.SmartCollections: ", TOPQSlimmingHelper.SmartCollections

    #=================================================================
    # EXTRA VARIABLES FROM DerivationFrameworkTop.TOPQCommonExtraContent
    #=================================================================
    TOPQSlimmingHelper.ExtraVariables = []
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesAntiKt4EMTopoJets
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesAntiKt4EMPFlowJets
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesBTagging_AntiKt4EMPFlow
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesBTagging_AntiKt4EMTopo
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesPhotons
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesElectrons
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesMuons
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesTaus

    if DFisMC:
        TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesPhotonsTruth
        TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesElectronsTruth
        TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesMuonsTruth
        TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesTausTruth

    print "TOPQSlimmingHelper.ExtraVariables: ", TOPQSlimmingHelper.ExtraVariables

    #================================
    # EXTRA COLLECTIONS - user added
    #================================
    TOPQSlimmingHelper.AllVariables = []
    TOPQSlimmingHelper.AllVariables += TOPQExtraContainersStandard
    TOPQSlimmingHelper.AllVariables += TOPQExtraContainersTrigger

    if DFisMC:
        TOPQSlimmingHelper.AllVariables += TOPQExtraContainersTruth

    print "TOPQSlimmingHelper.AllVariables: ", TOPQSlimmingHelper.AllVariables

    #================================
    # CREATED ON-THE-FLY COLLECTIONS
    #================================
    TOPQSlimmingHelper.StaticContent = []
    TOPQSlimmingHelper.StaticContent += TOPQStaticContent

    if DFisMC:
        TOPQSlimmingHelper.StaticContent += TOPQStaticContentTruth

    print "TOPQSlimmingHelper.StaticContent: ", TOPQSlimmingHelper.StaticContent

    #================================
    # TRIGGER CONTENT
    #================================
    TOPQSlimmingHelper.IncludeMuonTriggerContent = True
    TOPQSlimmingHelper.IncludeEGammaTriggerContent = True
    TOPQSlimmingHelper.IncludeJetTriggerContent = True
    TOPQSlimmingHelper.IncludeTauTriggerContent = True
    TOPQSlimmingHelper.IncludeEtMissTriggerContent = True
    #TOPQSlimmingHelper.IncludeJetTauEtMissTriggerContent = True
    #TOPQSlimmingHelper.IncludeBJetTriggerContent         = True
    #TOPQSlimmingHelper.IncludeBPhysTriggerContent        = True
    #TOPQSlimmingHelper.IncludeMinBiasTriggerContent      = True

    #====================================
    # ADD AntiKT4EMPFlowJets MET OUTPUT
    #====================================
    # needs to be after where AllVaraibles[] and StaticContent[] are created
    # adds METAssoc_XXXX, MET_Core_XXXX, and MET_Reference_XXXX
    # uses DerivationFrameworkJetEtMiss.METCommon.py
    addMETOutputs(TOPQSlimmingHelper, ["AntiKt4EMPFlow"])

    #================================
    # THIS NEEDS TO BE THE LAST LINE
    #================================
    TOPQSlimmingHelper.AppendContentToStream(stream)
Exemple #15
0
#====================================================================
# SET UP STREAM
#====================================================================

# The base name (DAOD_FTAG5 here) must match the string in
streamName = derivationFlags.WriteDAOD_FTAG5Stream.StreamName
fileName   = buildFileName( derivationFlags.WriteDAOD_FTAG5Stream )
FTAG5Stream = MSMgr.NewPoolRootStream( streamName, fileName )
# Only events that pass the filters listed below are written out.
# Name must match that of the kernel above
# AcceptAlgs  = logical OR of filters
# RequireAlgs = logical AND of filters
FTAG5Stream.AcceptAlgs(["FTAG5Kernel"])

from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
FTAG5SlimmingHelper = SlimmingHelper("FTAG5SlimmingHelper")

# NB: the BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo
# container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables
FTAG5SlimmingHelper.AppendToDictionary = {
"AntiKtVR50Rmax4Rmin0TrackJets"               :   "xAOD::JetContainer"        ,
"AntiKtVR50Rmax4Rmin0TrackJetsAux"            :   "xAOD::JetAuxContainer"     ,
"BTagging_AntiKtVR50Rmax4Rmin0Track"          :   "xAOD::BTaggingContainer"   ,
"BTagging_AntiKtVR50Rmax4Rmin0TrackAux"       :   "xAOD::BTaggingAuxContainer",
"AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"    :   "xAOD::JetContainer"        ,
"AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsAux" :   "xAOD::JetAuxContainer"     ,
"AntiKt10TrackJets"                           :   "xAOD::JetContainer"        ,
"AntiKt10TrackJetsAux"                        :   "xAOD::JetAuxContainer"     ,
}

# Write ExKt contents to output stream
Exemple #16
0
# Keep only calo cells associated with the egammaClusters collection
from DerivationFrameworkCalo.CaloCellDFGetter import thinCaloCellsForDF
thinCaloCellsForDF(inputClusterKeys=["egammaClusters"],
                   streamName=EGAM9Stream.Name,
                   outputCellKey="DFEGAMCellContainer")

#========================================================================

#====================================================================
# SET UP SLIMMING
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper

# Keep only electrons and photons
EGAM9SlimmingHelper = SlimmingHelper("EGAM9SlimmingHelper")
EGAM9SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "InDetTrackParticles", "PrimaryVertices"
]

# Add egamma trigger objects
EGAM9SlimmingHelper.IncludeEGammaTriggerContent = True

# Extra variables
EGAM9SlimmingHelper.ExtraVariables = ExtraContentAll
EGAM9SlimmingHelper.AllVariables = ExtraContainersElectrons
EGAM9SlimmingHelper.AllVariables += ExtraContainersPhotons
EGAM9SlimmingHelper.AllVariables += ExtraContainersTrigger

if globalflags.DataSource() == 'geant4':
    EGAM9SlimmingHelper.ExtraVariables += ExtraContentAllTruth
Exemple #17
0
DerivationFrameworkJob += FTAG4Seq

#====================================================================
# SET UP STREAM
#====================================================================
# The base name (DAOD_FTAG4 here) must match the string in
streamName = derivationFlags.WriteDAOD_FTAG4Stream.StreamName
fileName = buildFileName(derivationFlags.WriteDAOD_FTAG4Stream)
FTAG4Stream = MSMgr.NewPoolRootStream(streamName, fileName)
# Only events that pass the filters listed below are written out.
# Name must match that of the kernel above
# AcceptAlgs  = logical OR of filters
# RequireAlgs = logical AND of filters
FTAG4Stream.AcceptAlgs(["FTAG4SkimKernel"])

FTAG4SlimmingHelper = SlimmingHelper("FTAG4SlimmingHelper")

# nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo
# container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables
FTAG4SlimmingHelper.SmartCollections = [
    "Electrons", "Muons", "InDetTrackParticles", "AntiKt4EMTopoJets",
    "AntiKt4EMPFlowJets", "MET_Reference_AntiKt4EMPFlow",
    "MET_Reference_AntiKt4EMTopo"
]

FTAG4SlimmingHelper.AllVariables = [
    "BTagging_AntiKtVR30Rmax4Rmin02Track_201810",
    "BTagging_AntiKtVR30Rmax4Rmin02Track_201810JFVtx",
    "BTagging_AntiKtVR30Rmax4Rmin02Track_201903",
    "BTagging_AntiKtVR30Rmax4Rmin02Track_201903JFVtx",
    "BTagging_AntiKt10LCTopoTrimmedPtFrac5SmallR20ExCoM2Sub",
Exemple #18
0
        "SUSY8GenFilt", SimBarcodeOffset=DerivationFrameworkSimBarcodeOffset)
    AugmentationTools.append(ToolSvc.SUSY8GenFilt)

#==============================================================================
# Augment after skim
#==============================================================================
SeqSUSY8 += CfgMgr.DerivationFramework__DerivationKernel(
    "SUSY8KernelAug",
    AugmentationTools=AugmentationTools,
    ThinningTools=thinningTools,
)

#====================================================================
# CONTENT LIST
#====================================================================

from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkSUSY.SUSY8ContentList import *

SUSY8SlimmingHelper = SlimmingHelper("SUSY8SlimmingHelper")

SUSY8SlimmingHelper.SmartCollections = SUSY8SmartContent
SUSY8SlimmingHelper.ExtraVariables = SUSY8ExtraVariables
SUSY8SlimmingHelper.AllVariables = SUSY8AllVariablesContent

SUSY8SlimmingHelper.IncludeMuonTriggerContent = True
SUSY8SlimmingHelper.IncludeJetTriggerContent = True
SUSY8SlimmingHelper.IncludeEtMissTriggerContent = True

SUSY8SlimmingHelper.AppendContentToStream(SUSY8Stream)
Exemple #19
0
# Add sequence (with all kernels needed) to DerivationFrameworkJob
#====================================================================

DerivationFrameworkJob += FTAG3Seq

#====================================================================
# SET UP STREAM
#====================================================================

# The base name (DAOD_FTAG3 here) must match the string in
streamName = derivationFlags.WriteDAOD_FTAG3Stream.StreamName
fileName = buildFileName(derivationFlags.WriteDAOD_FTAG3Stream)
FTAG3Stream = MSMgr.NewPoolRootStream(streamName, fileName)
FTAG3Stream.AcceptAlgs(["FTAG3SkimKernel"])

FTAG3SlimmingHelper = SlimmingHelper("FTAG3SlimmingHelper")

# nb: BTagging_AntiKt4EMTopo smart collection includes both AntiKt4EMTopoJets and BTagging_AntiKt4EMTopo
# container variables. Thus BTagging_AntiKt4EMTopo is needed in SmartCollections as well as AllVariables
FTAG3SlimmingHelper.SmartCollections = [
    "Electrons",
    "Muons",
    "InDetTrackParticles",
    "PrimaryVertices",
    "AntiKt4EMTopoJets",
    "AntiKt4EMPFlowJets",
    "MET_Reference_AntiKt4EMTopo",
]

FTAG3SlimmingHelper.AllVariables = [
    "AntiKt10TruthWZJets", "BTagging_AntiKt2Track",
Exemple #20
0
# RequireAlgs = logical AND of filters
EGAM8Stream.AcceptAlgs(["EGAM8Kernel"])


#Special lines for thinning
# Thinning service name must match the one passed to the thinning tools
from AthenaServices.Configurables import ThinningSvc, createThinningSvc
augStream = MSMgr.GetStream( streamName )
evtStream = augStream.GetEventStream()
svcMgr += createThinningSvc( svcName="EGAM8ThinningSvc", outStreams=[evtStream] )

#====================================================================
# CONTENT LIST
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
EGAM8SlimmingHelper = SlimmingHelper("EGAM8SlimmingHelper")

from DerivationFrameworkEGamma.EGAM8ExtraContent import *
EGAM8SlimmingHelper.SmartCollections = [
                                        "Electrons",
					"Photons",
					"Muons",
                                        "TauJets",
                                        "MET_Reference_AntiKt4EMTopo",
                                        "AntiKt4EMTopoJets",
                                        "BTagging_AntiKt4EMTopo",
                                        "InDetTrackParticles",
                                        "PrimaryVertices"
                                        ]

# Add egamma trigger objects
Exemple #21
0
#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================

from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += exot7Seq
exot7Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT7Kernel_skim",
    AugmentationTools=[EXOT7DeltaRTool],
    SkimmingTools=[EXOT7StringSkimmingTool])
exot7Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT7Kernel", ThinningTools=thinningTools)

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkExotics.EXOT7ContentList import *
EXOT7SlimmingHelper = SlimmingHelper("EXOT7SlimmingHelper")
EXOT7SlimmingHelper.StaticContent = EXOT7Content

EXOT7SlimmingHelper.SmartCollections = EXOT7SmartCollections
EXOT7SlimmingHelper.ExtraVariables = EXOT7ExtraVariables
EXOT7SlimmingHelper.AllVariables = EXOT7AllVariables
#EXOT7SlimmingHelper.IncludeJetTauEtMissTriggerContent = True
EXOT7SlimmingHelper.IncludeJetTriggerContent = True
EXOT7SlimmingHelper.IncludeBJetTriggerContent = True

EXOT7SlimmingHelper.AppendContentToStream(EXOT7Stream)
Exemple #22
0
# AcceptAlgs  = logical OR of filters
# RequireAlgs = logical AND of filters
EGAM2Stream.AcceptAlgs(["EGAM2Kernel"])

#Special lines for thinning
# Thinning service name must match the one passed to the thinning tools
# from AthenaServices.Configurables import ThinningSvc, createThinningSvc
# augStream = MSMgr.GetStream( streamName )
# evtStream = augStream.GetEventStream()
# svcMgr += createThinningSvc( svcName="EGAM2ThinningSvc", outStreams=[evtStream] )

#====================================================================
# CONTENT LIST
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
EGAM2SlimmingHelper = SlimmingHelper("EGAM2SlimmingHelper")

from DerivationFrameworkEGamma.EGAM2ExtraContent import *
EGAM2SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo",
    "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles",
    "PrimaryVertices"
]
# muons, tau, MET, b-tagging could be switched off if not needed and use too much space

# Add egamma trigger objects
EGAM2SlimmingHelper.IncludeEGammaTriggerContent = True

# Extra variables
EGAM2SlimmingHelper.ExtraVariables = ExtraContentAll
EGAM2SlimmingHelper.AllVariables = ExtraContainersElectrons
Exemple #23
0
skimmingTools.append(EXOT1SkimmingTool)

from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationOR
EXOT1ORSkimmingTool = DerivationFramework__FilterCombinationOR(
    name="EXOT1ORSkimmingTool", FilterList=skimmingTools)
ToolSvc += EXOT1ORSkimmingTool
printfunc(EXOT1SkimmingTool)

#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================

from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += exot1Seq
exot1Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT1Kernel_skim", SkimmingTools=[EXOT1ORSkimmingTool])
exot1Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT1Kernel", ThinningTools=thinningTools)

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
# Currently using same list as EXOT1
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkExotics.EXOT1ContentList import *
EXOT1SlimmingHelper = SlimmingHelper("EXOT1SlimmingHelper")
EXOT1SlimmingHelper.StaticContent = EXOT1Content
EXOT1SlimmingHelper.SmartCollections = EXOT1SmartContent
EXOT1SlimmingHelper.AllVariables = EXOT1AllVariablesContent
EXOT1SlimmingHelper.AppendContentToStream(EXOT1Stream)
Exemple #24
0
#====================================================================
# SET UP STREAM
#====================================================================
#streamName = derivationFlags.WriteDAOD_STDM7Stream.StreamName
#fileName   = buildFileName( derivationFlags.WriteDAOD_STDM7Stream )
#STDM7Stream = MSMgr.NewPoolRootStream( streamName, fileName )
#STDM7Stream.AcceptAlgs(["STDM7Kernel"])

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkSM.STDMExtraContent import *

STDM7SlimmingHelper = SlimmingHelper("STDM7SlimmingHelper")
STDM7SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "Muons", "TauJets", "MET_Reference_AntiKt4EMTopo",
    "AntiKt4EMTopoJets", "BTagging_AntiKt4EMTopo", "InDetTrackParticles",
    "PrimaryVertices"
]

STDM7SlimmingHelper.IncludeEGammaTriggerContent = True
STDM7SlimmingHelper.IncludeMuonTriggerContent = True

STDM7SlimmingHelper.ExtraVariables = ExtraContentAll
STDM7SlimmingHelper.ExtraVariables += [
    "AntiKt4EMTopoJets.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.JetEMScaleMomentum_phi.JetEMScaleMomentum_m"
]

STDM7SlimmingHelper.AllVariables = ExtraContainersAll
Exemple #25
0
    "EXOT6Kernel_skim", SkimmingTools=[EXOT6SkimmingTool])
exot6Seq += CfgMgr.DerivationFramework__DerivationKernel(
    "EXOT6Kernel",
    ThinningTools=[
        EXOT6TPThinningTool, EXOT6MuonTPThinningTool,
        EXOT6ElectronTPThinningTool, EXOT6PhotonTPThinningTool,
        EXOT6PhotonCCThinningTool
    ])

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkExotics.EXOT6ContentList import EXOT6SmartContent, EXOT6AllVariablesContent, EXOT6ExtraVariables, EXOT6UnslimmedContent

EXOT6SlimmingHelper = SlimmingHelper("EXOT6SlimmingHelper")

# Containers to be smart slimmed, see https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis
# /DerivationFramework/DerivationFrameworkExamples/trunk/share/SlimmingExample.py#L38
EXOT6SlimmingHelper.SmartCollections = EXOT6SmartContent

# Keep all variables for containers which we don't want to smart slim and were
# not created in the derivation
EXOT6SlimmingHelper.AllVariables = EXOT6AllVariablesContent

# Adding extra missing variables from the smart slimming
EXOT6SlimmingHelper.ExtraVariables = EXOT6ExtraVariables

EXOT6SlimmingHelper.StaticContent = EXOT6UnslimmedContent

EXOT6SlimmingHelper.AppendContentToStream(EXOT6Stream)
Exemple #26
0
#====================================================================
# Put our sequence into the top sequence
DerivationFrameworkJob += SeqPHYSLITE
# Add thinning tools kernel
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
SeqPHYSLITE += CfgMgr.DerivationFramework__DerivationKernel(
   "PHYSLITEKernel",
   AugmentationTools = AugmentationTools,
   ThinningTools = thinningTools,
   )

#====================================================================
# CONTENT LIST  
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
PHYSLITESlimmingHelper = SlimmingHelper("PHYSLITESlimmingHelper")

PHYSLITESlimmingHelper.IncludeTriggerNavigation = False
PHYSLITESlimmingHelper.IncludeJetTriggerContent = False
PHYSLITESlimmingHelper.IncludeMuonTriggerContent = False
PHYSLITESlimmingHelper.IncludeEGammaTriggerContent = False
PHYSLITESlimmingHelper.IncludeJetTauEtMissTriggerContent = False
PHYSLITESlimmingHelper.IncludeTauTriggerContent = False #True
PHYSLITESlimmingHelper.IncludeEtMissTriggerContent = False
PHYSLITESlimmingHelper.IncludeBJetTriggerContent = False
PHYSLITESlimmingHelper.IncludeBPhysTriggerContent = False
PHYSLITESlimmingHelper.IncludeMinBiasTriggerContent = False

# Most of the new containers are centrally added to SlimmingHelper via DerivationFrameworkCore ContainersOnTheFly.py
PHYSLITESlimmingHelper.AppendToDictionary = {
                                         'TruthEvents':'xAOD::TruthEventContainer','TruthEventsAux':'xAOD::TruthEventAuxContainer',
Exemple #27
0
#STDM5Stream = MSMgr.NewPoolRootStream( streamName, fileName )
#STDM5Stream.AcceptAlgs(["STDM5Kernel"])
# Special lines for thinning
# Thinning service name must match the one passed to the thinning tools
#from AthenaServices.Configurables import ThinningSvc, createThinningSvc
#augStream = MSMgr.GetStream( streamName )
#evtStream = augStream.GetEventStream()
#svcMgr += createThinningSvc( svcName="STDM5ThinningSvc", outStreams=[evtStream] )

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkSM.STDMExtraContent import *

STDM5SlimmingHelper = SlimmingHelper("STDM5SlimmingHelper")
STDM5SlimmingHelper.SmartCollections = ["Electrons",
                                        "Photons",
                                        "Muons",
                                        "TauJets",
                                        "MET_Reference_AntiKt4EMTopo",
                                        "AntiKt4LCTopoJets",
                                        "AntiKt4EMTopoJets",
                                        "BTagging_AntiKt4LCTopo",
                                        "BTagging_AntiKt4EMTopo",
                                        "InDetTrackParticles",
                                        "PrimaryVertices"  ]

STDM5SlimmingHelper.IncludeEGammaTriggerContent = True
STDM5SlimmingHelper.IncludeMuonTriggerContent = True
Exemple #28
0
)

#==============================================================================
# Jet building
#==============================================================================
# AntiKt10*PtFrac5Rclus20
addDefaultTrimmedJets(SeqSUSY1, "SUSY1")

#====================================================================
# CONTENT LIST
#====================================================================
# About SmartCollections and AllVariables:
#   If you want to use CP tools on a container, you MUST include that container as a SmartCollection.
#   You are then free to include it as AllVariables in addition, to pick up variables not needed by the CP tools but needed by your analysis.
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
SUSY1SlimmingHelper = SlimmingHelper("SUSY1SlimmingHelper")
SUSY1SlimmingHelper.SmartCollections = [
    "Electrons", "Photons", "MET_Reference_AntiKt4EMTopo", "Muons", "TauJets",
    "BTagging_AntiKt4EMTopo", "InDetTrackParticles", "PrimaryVertices",
    "BTagging_AntiKt4Track"
]
SUSY1SlimmingHelper.AllVariables = [
    "TruthParticles", "TruthEvents", "TruthVertices", "MET_Truth",
    "AntiKt4PV0TrackJets", "MET_Track"
]
SUSY1SlimmingHelper.ExtraVariables = [
    "BTagging_AntiKt4EMTopo.MV1_discriminant.MV1c_discriminant",
    "Muons.etcone30.ptcone30.ptcone20.charge.quality.InnerDetectorPt.MuonSpectrometerPt.CaloLRLikelihood.CaloMuonIDTag",
    "Photons.author.Loose.Tight",
    "AntiKt4EMTopoJets.NumTrkPt1000.TrackWidthPt1000.NumTrkPt500.DFCommonJets_Calib_pt.DFCommonJets_Calib_eta.DFCommonJets_Calib_phi",  # TODO: .DFCommonJets_Jvt",
    "GSFTrackParticles.z0.d0.vz.definingParametersCovMatrix",
Exemple #29
0
thinningTools = DerivationFrameworkHiggs.HIGG4DxThinning.setup(DAOD_StreamID, HIGG4D3ThinningHelper.ThinningSvc(), ToolSvc)

# skimming tools
import DerivationFrameworkHiggs.HIGG4DxSkimming
skimmingTools = DerivationFrameworkHiggs.HIGG4DxSkimming.setup(DAOD_StreamID, ToolSvc)

#augmentation tools
from DerivationFrameworkHiggs.HIGG4DxAugmentation import *
augmentationTools = DerivationFrameworkHiggs.HIGG4DxAugmentation.setup(DAOD_StreamID, ToolSvc)

#slimming tools
import DerivationFrameworkHiggs.HIGG4DxSlimming

#slimming helper
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
HIGG4D3SlimmingHelper = SlimmingHelper(DAOD_StreamID+"SlimmingHelper")

# jets and calibration
import DerivationFrameworkHiggs.HIGG4DxJets

#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel

# Create the private sequence
HIGG4D3Sequence = CfgMgr.AthSequencer(DAOD_StreamID+"Sequence")

# augmentation
HIGG4D3Sequence += CfgMgr.DerivationFramework__CommonAugmentation("HIGG4DxCommonAugmentationKernel", AugmentationTools = augmentationTools)
Exemple #30
0
#=======================================
# CREATE THE DERIVATION KERNEL ALGORITHM
#=======================================
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    "HIGG3D3Kernel",
    AugmentationTools=[HIGG3D3ElJDeltaRTool, HIGG3D3MuJDeltaRTool],
    SkimmingTools=skimmingTools,
    ThinningTools=thinningTools)

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
HIGG3D3SlimmingHelper = SlimmingHelper("HIGG3D3SlimmingHelper")
from DerivationFrameworkHiggs.HIGG3D3ExtraContent import *
#HIGG3D3SlimmingHelper.UserContent = HIGG3D3Content
HIGG3D3SlimmingHelper.SmartCollections = [
    "Electrons", "Muons", "AntiKt4EMTopoJets", "InDetTrackParticles",
    "BTagging_AntiKt4EMTopo", "PrimaryVertices", "MET_Reference_AntiKt4EMTopo"
]

HIGG3D3SlimmingHelper.ExtraVariables = HIGG3D3ExtraVariables
HIGG3D3SlimmingHelper.AllVariables = HIGG3D3ExtraContainers

if globalflags.DataSource() == 'geant4':
    HIGG3D3SlimmingHelper.AllVariables += HIGG3D3ExtraTruthContainers
    HIGG3D3SlimmingHelper.ExtraVariables += HIGG3D3ExtraTruthVariables

# Add Trigger content