Exemple #1
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 #2
0
# Variables to save, per object type

PHYSLITESlimmingHelper.ExtraVariables = [ 
  "AnalysisElectrons.trackParticleLinks.pt.eta.phi.m.charge.author.DFCommonElectronsLHVeryLoose.DFCommonElectronsLHLoose.DFCommonElectronsLHLooseBL.DFCommonElectronsLHMedium.DFCommonElectronsLHTight.DFCommonElectronsLHVeryLooseIsEMValue.DFCommonElectronsLHLooseIsEMValue.DFCommonElectronsLHLooseBLIsEMValue.DFCommonElectronsLHMediumIsEMValue.DFCommonElectronsLHTightIsEMValue.DFCommonElectronsECIDS.DFCommonElectronsECIDSResult.ptvarcone20.ptvarcone40.topoetcone20.topoetcone20ptCorrection.ptcone20_TightTTVA_pt500.ptcone20_TightTTVA_pt1000.ptvarcone20_TightTTVA_pt1000.ptvarcone30_TightTTVA_pt500.ptvarcone30_TightTTVA_pt1000.caloClusterLinks.ambiguityLink.truthParticleLink.truthOrigin.truthType.truthPdgId.firstEgMotherTruthType.firstEgMotherTruthOrigin.firstEgMotherTruthParticleLink.firstEgMotherPdgId.ambiguityType.OQ",
  "AnalysisPhotons.pt.eta.phi.m.author.OQ.DFCommonPhotonsIsEMLoose.DFCommonPhotonsIsEMTight.DFCommonPhotonsIsEMTightIsEMValue.DFCommonPhotonsIsEMTightPtIncl.DFCommonPhotonsIsEMTightPtInclIsEMValue.DFCommonPhotonsCleaning.DFCommonPhotonsCleaningNoTime.ptcone20.topoetcone20.topoetcone40.topoetcone20ptCorrection.topoetcone40ptCorrection.caloClusterLinks.vertexLinks.ambiguityLink.truthParticleLink.truthOrigin.truthType",
  "GSFTrackParticles.chiSquared.phi.d0.theta.qOverP.definingParametersCovMatrix.z0.vz.charge.vertexLink",
  "CaloCalTopoClusters.rawE.rawEta.rawPhi.rawM.calE.calEta.calPhi.calM.e_sampl",
  "egammaClusters.calE.calEta.calPhi.e_sampl.eta_sampl.ETACALOFRAME.PHICALOFRAME.ETA2CALOFRAME.PHI2CALOFRAME.constituentClusterLinks",
  "AnalysisMuons.pt.eta.phi.truthType.truthOrigin.author.muonType.quality.inDetTrackParticleLink.muonSpectrometerTrackParticleLink.combinedTrackParticleLink.InnerDetectorPt.MuonSpectrometerPt.DFCommonGoodMuon.ptcone20.ptcone30.ptcone40.ptvarcone20.ptvarcone30.ptvarcone40.topoetcone20.topoetcone30.topoetcone40.truthParticleLink.charge.extrapolatedMuonSpectrometerTrackParticleLink.allAuthors.ptcone20_TightTTVA_pt1000.ptcone20_TightTTVA_pt500.ptvarcone30_TightTTVA_pt1000.ptvarcone30_TightTTVA_pt500.numberOfPrecisionLayers.combinedTrackOutBoundsPrecisionHits.numberOfPrecisionLayers.numberOfPrecisionHoleLayers.numberOfGoodPrecisionLayers.innerSmallHits.innerLargeHits.middleSmallHits.middleLargeHits.outerSmallHits.outerLargeHits.extendedSmallHits.extendedLargeHits.extendedSmallHoles.isSmallGoodSectors.cscUnspoiledEtaHits.EnergyLoss.energyLossType.momentumBalanceSignificance.scatteringCurvatureSignificance.scatteringNeighbourSignificance",
  "CombinedMuonTrackParticles.qOverP.d0.z0.vz.phi.theta.truthOrigin.truthType.definingParametersCovMatrix.numberOfPixelDeadSensors.numberOfPixelHits.numberOfPixelHoles.numberOfSCTDeadSensors.numberOfSCTHits.numberOfSCTHoles.numberOfTRTHits.numberOfTRTOutliers.chiSquared.numberDoF",
  "ExtrapolatedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType.qOverP.theta.phi",
  "MuonSpectrometerTrackParticles.phi.d0.z0.vz.definingParametersCovMatrix.vertexLink.theta.qOverP.truthParticleLink",
  "AnalysisTauJets.pt.eta.phi.m.tauTrackLinks.jetLink.charge.isTauFlags.BDTJetScore.BDTEleScore.ptFinalCalib.etaFinalCalib.phiFinalCalib.mFinalCalib.electronLink.EleMatchLikelihoodScore.pt_combined.eta_combined.phi_combined.m_combined.BDTJetScoreSigTrans.BDTEleScoreSigTrans.PanTau_DecayMode.RNNJetScore.RNNJetScoreSigTrans.IsTruthMatched.truthOrigin.truthType.truthParticleLink.truthJetLink",
  "AnalysisJets.pt.eta.phi.m.JetConstitScaleMomentum_pt.JetConstitScaleMomentum_eta.JetConstitScaleMomentum_phi.JetConstitScaleMomentum_m.NumTrkPt500.SumPtTrkPt500.DetectorEta.Jvt.JVFCorr.JvtRpt.NumTrkPt1000.TrackWidthPt1000.GhostMuonSegmentCount.PartonTruthLabelID.ConeTruthLabelID.HadronConeExclExtendedTruthLabelID.HadronConeExclTruthLabelID.TrueFlavor.DFCommonJets_jetClean_LooseBad.DFCommonJets_jetClean_TightBad.Timing.btagging.btaggingLink.GhostTrack.DFCommonJets_fJvt.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PSFrac",
  "BTagging_AntiKt4EMPFlow_201903.DL1r_pu.DL1rmu_pu.DL1r_pb.DL1rmu_pb.DL1r_pc.DL1rmu_pc",
  "TruthPrimaryVertices.t.x.y.z",
  "MET_Core_AnalysisMET.name.mpx.mpy.sumet.source",
  "METAssoc_AnalysisMET.",
  ]

if DerivationFrameworkIsMonteCarlo:
    from DerivationFrameworkMCTruth.MCTruthCommon import addTruth3ContentToSlimmerTool
    addTruth3ContentToSlimmerTool(PHYSLITESlimmingHelper)

# Extra trigger collections
trigmatching_helper_notau.add_to_slimming(PHYSLITESlimmingHelper)
trigmatching_helper_tau.add_to_slimming(PHYSLITESlimmingHelper)

PHYSLITESlimmingHelper.AppendContentToStream(PHYSLITEStream)
Exemple #3
0
    "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
EGAM2SlimmingHelper.AllVariables += ExtraContainersTrigger
if globalflags.DataSource() != 'geant4':
    EGAM2SlimmingHelper.AllVariables += ExtraContainersTriggerDataOnly

if globalflags.DataSource() == 'geant4':
    EGAM2SlimmingHelper.ExtraVariables += ExtraContentAllTruth
    EGAM2SlimmingHelper.AllVariables += ExtraContainersTruth

for tool in EGAM2_ClusterEnergyPerLayerDecorators:
    EGAM2SlimmingHelper.ExtraVariables.extend(
        getClusterEnergyPerLayerDecorations(tool))

# This line must come after we have finished configuring EGAM2SlimmingHelper
EGAM2SlimmingHelper.AppendContentToStream(EGAM2Stream)

# Add MET_RefFinalFix
# JRC: COMMENTED TEMPORARILY
#addMETOutputs(EGAM2Stream)
Exemple #4
0
        "xAOD::TruthParticleContainer#TruthTaus",
        "xAOD::TruthParticleAuxContainer#TruthTausAux.",
        "xAOD::TruthParticleContainer#TruthPhotons",
        "xAOD::TruthParticleAuxContainer#TruthPhotonsAux.",
        "xAOD::TruthParticleContainer#TruthNeutrinos",
        "xAOD::TruthParticleAuxContainer#TruthNeutrinosAux."
    ]

TAUP1SlimmingHelper.IncludeMuonTriggerContent = True
TAUP1SlimmingHelper.IncludeTauTriggerContent = True
TAUP1SlimmingHelper.IncludeEGammaTriggerContent = True
TAUP1SlimmingHelper.IncludeEtMissTriggerContent = True
TAUP1SlimmingHelper.IncludeJetTriggerContent = True
TAUP1SlimmingHelper.IncludeBJetTriggerContent = True

TAUP1SlimmingHelper.ExtraVariables = ExtraContentTAUP1
TAUP1SlimmingHelper.AllVariables = ExtraContainersTAUP1

if globalflags.DataSource() == "geant4":
    TAUP1SlimmingHelper.ExtraVariables += ExtraContentTruthTAUP1
    TAUP1SlimmingHelper.AllVariables += ExtraContainersTruthTAUP1

TAUP1SlimmingHelper.AppendContentToStream(TAUP1Stream)

TAUP1Stream.AddItem("xAOD::EventShape#*")
TAUP1Stream.AddItem("xAOD::EventShapeAuxInfo#*")

# Add MET_RefFinalFix
# JRC TEMPORARILY COMMENTED
# addMETOutputs(TAUP1Stream)
Exemple #5
0
#====================================================================

from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__CommonAugmentation
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel("DFTSOS_KERN",
                                                                       AugmentationTools = augmentationTools,
                                                                       ThinningTools = thinningTools,
                                                                       OutputLevel =INFO)

if (printIdTrkDxAODConf):
    print(DerivationFrameworkJob)
    print(DerivationFrameworkJob.properties())

 
#====================================================================
# SLIMMING
#====================================================================

from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
IDPIXLUMISlimmingHelper = SlimmingHelper("IDPIXLUMISlimmingHelper")
IDPIXLUMISlimmingHelper.AppendToDictionary = {'PixelClusters': 'xAOD::TrackMeasurementValidationContainer', 'PixelClustersAux': 'xAOD::TrackMeasurementValidationAuxContainer'}
IDPIXLUMISlimmingHelper.ExtraVariables = [ "PixelClusters.bec.layer.phi_module.eta_module.sizePhi.sizeZ.nRDO.charge.ToT.LVL1A.isFake.gangedPixel.isSplit" ]
IDPIXLUMISlimmingHelper.AllVariables = [ "InDetTrackParticles", "PrimaryVertices" ]
IDPIXLUMISlimmingHelper.SmartCollections = [ "InDetTrackParticles", "PrimaryVertices" ]
IDPIXLUMISlimmingHelper.AppendContentToStream(IDPIXLUMIStream)


# Add trigger information

if (printIdTrkDxAODConf):
    print(IDPIXLUMIStream)
Exemple #6
0
                                        "BTagging_AntiKt4LCTopo",
                                        "BTagging_AntiKt4EMTopo",
                                        "InDetTrackParticles",
                                        "PrimaryVertices"  ]

STDM5SlimmingHelper.IncludeEGammaTriggerContent = True
STDM5SlimmingHelper.IncludeMuonTriggerContent = True


STDM5SlimmingHelper.ExtraVariables = ExtraContentAll
STDM5SlimmingHelper.AllVariables = ExtraContainersAll
if globalflags.DataSource()=='geant4':
    STDM5SlimmingHelper.ExtraVariables += ExtraContentAllTruth
    STDM5SlimmingHelper.AllVariables += ExtraContainersTruth
    
STDM5SlimmingHelper.AppendContentToStream(STDM5Stream)
STDM5Stream.AddItem("xAOD::EventShape#*")
STDM5Stream.AddItem("xAOD::EventShapeAuxInfo#*")
#STDM5Stream.AddItem("xAOD::TrigNavigation#*")
#STDM5Stream.AddItem("xAOD::TrigNavigationAuxInfo#*")

if globalflags.DataSource()=='geant4':
    STDM5Stream.AddItem( "xAOD::TruthParticleContainer#TruthMuons" )
    STDM5Stream.AddItem( "xAOD::TruthParticleAuxContainer#TruthMuonsAux." )
    STDM5Stream.AddItem( "xAOD::TruthParticleContainer#TruthElectrons" )
    STDM5Stream.AddItem( "xAOD::TruthParticleAuxContainer#TruthElectronsAux." )
    STDM5Stream.AddItem( "xAOD::TruthParticleContainer#TruthPhotons" )
    STDM5Stream.AddItem( "xAOD::TruthParticleAuxContainer#TruthPhotonsAux." )
    STDM5Stream.AddItem( "xAOD::TruthParticleContainer#TruthNeutrinos" )
    STDM5Stream.AddItem( "xAOD::TruthParticleAuxContainer#TruthNeutrinosAux." )
    STDM5Stream.AddItem( "xAOD::TruthParticleContainer#TruthTaus" )
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
addJetOutputs(HIGG5D2SlimmingHelper, ["HIGG5D2Jets"])
# Add the MET containers to the stream
addMETOutputs(HIGG5D2SlimmingHelper, ["AntiKt4LCTopo", "Track"])

HIGG5D2SlimmingHelper.IncludeMuonTriggerContent = True
HIGG5D2SlimmingHelper.IncludeEGammaTriggerContent = True
#HIGG5D2SlimmingHelper.IncludeBPhysTriggerContent = True
#HIGG5D2SlimmingHelper.IncludeJetTauEtMissTriggerContent = True
HIGG5D2SlimmingHelper.IncludeEtMissTriggerContent = True
HIGG5D2SlimmingHelper.IncludeJetTriggerContent = True
# if globalflags.DataSource()!='geant4': # for very early data
# HIGG5D2SlimmingHelper.IncludeBJetTriggerContent = True

HIGG5D2SlimmingHelper.AppendContentToStream(HIGG5D2Stream)
Exemple #8
0
    "Kt4EMPFlowEventShape",
]
JETM7SlimmingHelper.ExtraVariables = [
    "Electrons." + NewTrigVars["Electrons"],
    "Muons.energyLossType.EnergyLoss.ParamEnergyLoss.MeasEnergyLoss.EnergyLossSigma.MeasEnergyLossSigma.ParamEnergyLossSigmaPlus.ParamEnergyLossSigmaMinus."
    + NewTrigVars["Muons"]
]
for truthc in [
        "TruthMuons",
        "TruthElectrons",
        "TruthPhotons",
        "TruthTaus",
        #    "TruthNeutrinos"
]:
    JETM7SlimmingHelper.StaticContent.append("xAOD::TruthParticleContainer#" +
                                             truthc)
    JETM7SlimmingHelper.StaticContent.append(
        "xAOD::TruthParticleAuxContainer#" + truthc + "Aux.")

# Trigger content
JETM7SlimmingHelper.IncludeMuonTriggerContent = True
JETM7SlimmingHelper.IncludeEGammaTriggerContent = True

# Add the jet containers to the stream
addJetOutputs(JETM7SlimmingHelper, ["SmallR"])
# Add the MET containers to the stream
addMETOutputs(JETM7SlimmingHelper,
              ["Diagnostic", "Assocs", "TruthAssocs", "Track", "JETMX"])

JETM7SlimmingHelper.AppendContentToStream(JETM7Stream)
Exemple #9
0
   from DerivationFrameworkMCTruth.MCTruthCommon import addTruth3ContentToSlimmerTool
   addTruth3ContentToSlimmerTool(PHYS2SlimmingHelper)
   PHYS2SlimmingHelper.AllVariables += ['TruthHFWithDecayParticles','TruthHFWithDecayVertices','TruthCharm']

PHYS2SlimmingHelper.ExtraVariables += ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.Tau1_wta.Tau2_wta.Tau3_wta.D2.GhostBHadronsFinalCount",
                                      "Electrons.TruthLink",
                                      "Muons.TruthLink",
                                      "Photons.TruthLink",
                                      "AntiKt2PV0TrackJets.pt.eta.phi.m",
                                      "AntiKt4EMTopoJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID",
                                      "AntiKt4EMPFlowJets.DFCommonJets_QGTagger_truthjet_nCharged.DFCommonJets_QGTagger_truthjet_pt.DFCommonJets_QGTagger_truthjet_eta.DFCommonJets_QGTagger_NTracks.DFCommonJets_QGTagger_TracksWidth.DFCommonJets_QGTagger_TracksC1.PartonTruthLabelID.DFCommonJets_fJvt",
                                      "TruthPrimaryVertices.t.x.y.z"]

# Float compression
from DerivationFrameworkPhys.PHYS_MCCompressionList import PHYS_MCCompressionList
from DerivationFrameworkPhys.PHYS_DataCompressionList import PHYS_DataCompressionList
PHYS2_compression_list = []
if (DerivationFrameworkIsMonteCarlo): PHYS2_compression_list = PHYS_MCCompressionList 
else: PHYS2_compression_list = PHYS_DataCompressionList
PHYS2_SeqCompress = CfgMgr.AthSequencer("PHYS2_SeqCompress")
DerivationFrameworkJob += PHYS2_SeqCompress
PHYS2_SeqCompress += CfgMgr.DerivationFramework__FloatCompressionAlg("CompressFloatCompression", SGKeys=PHYS2_compression_list)

# Add trigger matching
trigmatching_helper.add_to_slimming(PHYS2SlimmingHelper)

# Final construction of output stream
PHYS2SlimmingHelper.AppendContentToStream(PHYS2Stream)

TEST10ThinningHelper.AppendToStream(TEST10Stream)

#====================================================================
# CREATE THE DERIVATION KERNEL ALGORITHM AND PASS THE ABOVE TOOLS
#====================================================================

# The name of the kernel (TEST10Kernel in this case) must be unique to this derivation
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    "TEST10Kernel")
TEST10Stream.AcceptAlgs(["TEST10Kernel"])

#====================================================================
# CONTENT LIST
#====================================================================
# Add the required contents (offline)
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
TEST10SlimmingHelper = SlimmingHelper("TEST10SlimmingHelper")
TEST10SlimmingHelper.SmartCollections = ["Electrons", "Muons"]
# Add the required trigger slices
TEST10SlimmingHelper.IncludeMuonTriggerContent = True
TEST10SlimmingHelper.IncludeEGammaTriggerContent = True
#TEST10SlimmingHelper.IncludeBPhysTriggerContent = True
##JetTauEtMissTriggerContent: split in 4 slices
#TEST10SlimmingHelper.IncludeJetTriggerContent = True
#TEST10SlimmingHelper.IncludeEtMissTriggerContent = True
#TEST10SlimmingHelper.IncludeTauTriggerContent = True
#TEST10SlimmingHelper.IncludeBJetTriggerContent = True
#TEST10SlimmingHelper.IncludeMinBiasTriggerContent = True
TEST10SlimmingHelper.AppendContentToStream(TEST10Stream)
Exemple #11
0
HIGG2D5SlimmingHelper.SmartCollections = ["Electrons",
                                          "Photons",
                                          "Muons",
                                          "TauJets",
                                          "MET_Reference_AntiKt4EMTopo",
                                          "MET_Reference_AntiKt4LCTopo",
                                          "AntiKt4EMTopoJets",
                                          "AntiKt4LCTopoJets",
                                          "BTagging_AntiKt4EMTopo",
                                          "BTagging_AntiKt4LCTopo",
                                          "InDetTrackParticles",
                                          "PrimaryVertices"]

HIGG2D5SlimmingHelper.ExtraVariables = HIGG2D5ExtraContent
HIGG2D5SlimmingHelper.AllVariables = HIGG2D5ExtraContainers
if globalflags.DataSource()=='geant4':
    HIGG2D5SlimmingHelper.ExtraVariables += HIGG2D5ExtraContentTruth
    HIGG2D5SlimmingHelper.AllVariables += HIGG2D5ExtraContainersTruth

# For J/psi vertex augmentation
HIGG2D5SlimmingHelper.StaticContent = HIGG2D5StaticContent

# Add MET_RefFinalFix
addMETOutputs(HIGG2D5SlimmingHelper,["AntiKt4LCTopo","Track"])

HIGG2D5SlimmingHelper.IncludeMuonTriggerContent = True
HIGG2D5SlimmingHelper.IncludeBPhysTriggerContent = True

HIGG2D5SlimmingHelper.AppendContentToStream(HIGG2D5Stream)
Exemple #12
0
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
    TOPQSlimmingHelper.ExtraVariables += TOPQExtraVariablesTrackJets
    TOPQSlimmingHelper.ExtraVariables += Config.GetExtraPromptVariablesForDxAOD(
    )
    #  TOPQSlimmingHelper.ExtraVariables += ["CaloCalTopoClusters.calE.calEta.calPhi.calM.rawM.rawE.rawEta.rawPhi.e_sampl.eta_sampl.etaCalo.phiCalo"]
    TOPQSlimmingHelper.ExtraVariables += [
        "CaloCalTopoClusters.calPt.calEta.calPhi.calM.calE.CENTER_MAG"
    ]

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

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

    #====================================
    # ADD CUSTOM JET OUTPUT (new rel 21 method)
    #====================================
    addJetOutputs(
        TOPQSlimmingHelper,
        ["SmallR", "LargeR", TOPQname],
        [],  # smart list
        [
            "AntiKt3PV0TrackJets",
            "AntiKt4PV0TrackJets",
            "AntiKt4LCTopoJets",
            "AntiKt10LCTopoJets",
            "AntiKt10TruthWZJets",
        ]  # veto list
    )

    #================================
    # THIS NEEDS TO BE THE LAST LINE
    #================================
    TOPQSlimmingHelper.AppendContentToStream(stream)
Exemple #13
0
# AcceptAlgs  = logical OR of filters
# RequireAlgs = logical AND of filters
TRUTH3Stream.AcceptAlgs(['TRUTH3Kernel'])

#==============================================================================
# Set up slimming content list here
#==============================================================================

from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper

TRUTH3SlimmingHelper = SlimmingHelper("TRUTH3SlimmingHelper")

TRUTH3SlimmingHelper.ExtraVariables = [
    "AntiKt4TruthJets.pt,AntiKt4TruthJets.eta,AntiKt4TruthJets.phi,AntiKt4TruthJets.m,AntiKt4TruthJets.GhostBHadronsFinalCount"
]
TRUTH3SlimmingHelper.AppendContentToStream(TRUTH3Stream)

TRUTH3Stream.AddItem("xAOD::EventInfo#*")
TRUTH3Stream.AddItem("xAOD::EventAuxInfo#*")
TRUTH3Stream.AddItem("xAOD::JetContainer#TrimmedAntiKt10TruthJets*")
TRUTH3Stream.AddItem("xAOD::JetAuxContainer#TrimmedAntiKt10TruthJets*")
TRUTH3Stream.AddItem("xAOD::MissingETContainer#*")
TRUTH3Stream.AddItem("xAOD::MissingETAuxContainer#*")

TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthPhotons*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthElectrons*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthMuons*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthTaus*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthTop*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthBoson*")
TRUTH3Stream.AddItem("xAOD::TruthParticleContainer#TruthBSM*")
Exemple #14
0
        AugmentationTools=[IDTR1TrackToVertexWrapper, TruthDecor])
else:
    DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
        "IDTR1Kernel", AugmentationTools=[IDTR1TrackToVertexWrapper])
#====================================================================
# SET UP STREAM
#====================================================================

# The base name (DAOD_TEST5 here) must match the string in
streamName = derivationFlags.WriteDAOD_IDTR1Stream.StreamName
fileName = buildFileName(derivationFlags.WriteDAOD_IDTR1Stream)
IDTR1Stream = MSMgr.NewPoolRootStream(streamName, fileName)
IDTR1Stream.AcceptAlgs(["IDTR1Kernel"])

# Add event info, tracks, vertices and the decoration
# Use slimming helper
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
IDTR1SlimmingHelper = SlimmingHelper("IDTR1SlimmingHelper")
allVariables = []
allVariables.append("InDetTrackParticles")
allVariables.append("GSFTrackParticles")
allVariables.append("PrimaryVertices")
allVariables.append("AntiKt4EMTopoJets")
allVariables.append("BTagging_AntiKt4EMTopo")
if DerivationFrameworkIsMonteCarlo:
    allVariables.append("TruthParticles")
    allVariables.append("TruthVertices")
    allVariables.append("TruthEvents")
IDTR1SlimmingHelper.AllVariables = allVariables
IDTR1SlimmingHelper.AppendContentToStream(IDTR1Stream)
Exemple #15
0
        "xAOD::TrackParticleAuxContainer#InDetPseudoTrackParticlesAux." +
        excludedAuxData)

# Add trigger information (including metadata)
if dumpTriggerInfo:
    IDTRKVALIDStream.AddMetaDataItem("xAOD::TriggerMenuContainer#TriggerMenu")
    IDTRKVALIDStream.AddMetaDataItem(
        "xAOD::TriggerMenuAuxContainer#TriggerMenuAux.")
    IDTRKVALIDStream.AddItem("TileCellContainer#MBTSContainer")
    IDTRKVALIDStream.AddItem("xAOD::TrigDecision#xTrigDecision")
    IDTRKVALIDStream.AddItem("BCM_RDO_Container#BCM_RDOs")
    IDTRKVALIDStream.AddItem("xAOD::TrigNavigation#TrigNavigation")
    IDTRKVALIDStream.AddItem("xAOD::TrigConfKeys#TrigConfKeys")
    IDTRKVALIDStream.AddItem("HLT::HLTResult#HLTResult_HLT")
    IDTRKVALIDStream.AddItem("xAOD::TrigDecisionAuxInfo#xTrigDecisionAux.")
    IDTRKVALIDStream.AddItem("xAOD::TrigNavigationAuxInfo#TrigNavigationAux.")

    if dumpTrtInfo and not isIdTrkDxAODSimulation:
        # strangely these options cause crashes in R21 MC reco:  ATLASRECTS-3861
        from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
        SlimmingHelper = SlimmingHelper("SlimmingHelper")
        SlimmingHelper.AllVariables += [
            "HLT_xAOD__ElectronContainer_egamma_Electrons",
            "HLT_xAOD__MuonContainer_MuonEFInfo"
        ]
        print(SlimmingHelper)
        SlimmingHelper.AppendContentToStream(IDTRKVALIDStream)

if (printIdTrkDxAODConf):
    print(IDTRKVALIDStream)
Exemple #16
0
    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
HIGG3D3SlimmingHelper.IncludeMuonTriggerContent = True
HIGG3D3SlimmingHelper.IncludeEGammaTriggerContent = True

# Add MET to output stream
#addMETOutputs(HIGG3D3SlimmingHelper)

HIGG3D3SlimmingHelper.AppendContentToStream(HIGG3D3Stream)
Exemple #17
0
    "BTagging_AntiKt4EMTopo_201810SecVtx": "xAOD::VertexContainer",
    "BTagging_AntiKt4EMTopo_201810SecVtxAux": "xAOD::VertexAuxContainer",
    "BTagging_AntiKt2Track": "xAOD::BTaggingContainer",
    "BTagging_AntiKt2TrackAux": "xAOD::BTaggingAuxContainer",
    "BTagging_AntiKt2TrackJFVtx": "xAOD::BTagVertexContainer",
    "BTagging_AntiKt2TrackJFVtxAux": "xAOD::BTagVertexAuxContainer",
    "BTagging_AntiKt2TrackSecVtx": "xAOD::VertexContainer",
    "BTagging_AntiKt2TrackSecVtxAux": "xAOD::VertexAuxContainer",
    "BTagging_AntiKt10TruthWZ": "xAOD::BTaggingContainer",
    "BTagging_AntiKt10TruthWZAux": "xAOD::BTaggingAuxContainer",
    "BTagging_AntiKt10TruthWZJFVtx": "xAOD::BTagVertexContainer",
    "BTagging_AntiKt10TruthWZJFVtxAux": "xAOD::BTagVertexAuxContainer",
    "BTagging_AntiKt10TruthWZSecVtx": "xAOD::VertexContainer",
    "BTagging_AntiKt10TruthWZSecVtxAux": "xAOD::VertexAuxContainer",
}
#----------------------------------------------------------------------
addJetOutputs(FTAG3SlimmingHelper, ["FTAG3"])

FTAG3SlimmingHelper.IncludeMuonTriggerContent = True
FTAG3SlimmingHelper.IncludeEGammaTriggerContent = False
FTAG3SlimmingHelper.IncludeJetTriggerContent = True
FTAG3SlimmingHelper.IncludeEtMissTriggerContent = False
FTAG3SlimmingHelper.IncludeBJetTriggerContent = True

#FTAG3 TrigNav Thinning
FTAG3ThinningHelper = ThinningHelper("FTAG3ThinningHelper")
FTAG3ThinningHelper.TriggerChains = 'HLT_mu*_j.*_dr05|HLT_mu*_j.*_bperf_split_dr05_dz02|HLT_mu*_j.*_boffperf_split_dr05_dz02|HLT_mu*_j.*_gsc.*_dr05_dz02'
FTAG3ThinningHelper.AppendToStream(FTAG3Stream)

FTAG3SlimmingHelper.AppendContentToStream(FTAG3Stream)
Exemple #18
0
#edmlist(set())
#====================================================================
# SET UP STREAM   
#====================================================================
# SKIMMING
# The base name (DAOD_TRIG4 here) must match the string in 
# DerivationFrameworkProdFlags (in DerivationFrameworkCore) 
streamName = derivationFlags.WriteDAOD_TRIG4Stream.StreamName
fileName   = buildFileName( derivationFlags.WriteDAOD_TRIG4Stream )
TRIG4Stream = 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
TRIG4Stream.AcceptAlgs(["TRIG4Kernel"])
        
# Thinning
from DerivationFrameworkTrigger.TrigThinningHelper import ThinningHelper
TRIG4ThinningHelper = ThinningHelper("TRIG4ThinningHelper",edmlist,'slimming')
TRIG4ThinningHelper.AppendToStream(TRIG4Stream)

#====================================================================
# CONTENT LIST  
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
TRIG4SlimmingHelper = SlimmingHelper("TRIG4SlimmingHelper")
##Smart Slimming
TRIG4SlimmingHelper.SmartCollections = []
TRIG4SlimmingHelper.AllVariables = edmlist
TRIG4SlimmingHelper.AppendContentToStream(TRIG4Stream)
Exemple #19
0
]
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",
    "ExtrapolatedMuonTrackParticles.d0.z0.vz.definingParametersCovMatrix.truthOrigin.truthType",
    "TauJets.TruthCharge.TruthProng.IsTruthMatched.TruthPtVis.truthOrigin.truthType.truthParticleLink.truthJetLink",
    "MuonTruthParticles.barcode.decayVtxLink.e.m.pdgId.prodVtxLink.px.py.pz.recoMuonLink.status.truthOrigin.truthType",
    "AntiKt4TruthJets.eta.m.phi.pt.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T.TruthLabelID.ConeTruthLabelID.PartonTruthLabelID",
    "Electrons.bkgMotherPdgId.bkgTruthOrigin"
]
SUSY2SlimmingHelper.IncludeMuonTriggerContent = True
SUSY2SlimmingHelper.IncludeEGammaTriggerContent = True
#SUSY2SlimmingHelper.IncludeBPhysTriggerContent = True
#SUSY2SlimmingHelper.IncludeJetTauEtMissTriggerContent = True

if globalflags.DataSource() == 'geant4':

    SUSY2SlimmingHelper.StaticContent += [
        "xAOD::TruthParticleContainer#TruthTaus",
        "xAOD::TruthParticleAuxContainer#TruthTausAux.",
    ]

SUSY2SlimmingHelper.AppendContentToStream(SUSY2Stream)
Exemple #20
0
                    "MuonTruthParticles.barcode.decayVtxLink.e.m.pdgId.prodVtxLink.px.py.pz.recoMuonLink.status.truthOrigin.truthType",
                    "AntiKt4TruthJets.eta.m.phi.pt.TruthLabelID",
                    "InDetTrackParticles.truthOrigin.truthType.truthMatchProbability.TrkIso*"]
SUSY4SlimmingHelper.IncludeMuonTriggerContent   = False
SUSY4SlimmingHelper.IncludeEGammaTriggerContent = False
SUSY4SlimmingHelper.IncludeBPhysTriggerContent  = False 
SUSY4SlimmingHelper.IncludeJetTriggerContent    = False
SUSY4SlimmingHelper.IncludeTauTriggerContent    = False
SUSY4SlimmingHelper.IncludeEtMissTriggerContent = False
SUSY4SlimmingHelper.IncludeBJetTriggerContent   = False


#addJetOutputs(SUSY4SlimmingHelper,["LargeR"])

if globalflags.DataSource()=='geant4':
  SUSY4Stream.AddItem( "xAOD::TruthParticleContainer#SUSY4TRUTHMuons*")
  SUSY4Stream.AddItem( "xAOD::TruthParticleAuxContainer#SUSY4TRUTHMuons*")
  SUSY4Stream.AddItem( "xAOD::TruthParticleContainer#SUSY4TRUTHElectrons*")
  SUSY4Stream.AddItem( "xAOD::TruthParticleAuxContainer#SUSY4TRUTHElectrons*")
  SUSY4Stream.AddItem( "xAOD::TruthParticleContainer#SUSY4TRUTHSherpaME*")
  SUSY4Stream.AddItem( "xAOD::TruthParticleAuxContainer#SUSY4TRUTHSherpaME*")
  #SUSY4Stream.AddItem( "xAOD::TruthParticleContainer#SUSY4TRUTHTaus*")
  #SUSY4Stream.AddItem( "xAOD::TruthParticleAuxContainer#SUSY4TRUTHTaus*")
  
  SUSY4SlimmingHelper.StaticContent += [
    "xAOD::TruthParticleContainer#TruthTaus",
    "xAOD::TruthParticleAuxContainer#TruthTausAux.",
  ]

SUSY4SlimmingHelper.AppendContentToStream(SUSY4Stream) # AppendContentToStream must always go last
Exemple #21
0
    ]
    HIGG6D1SlimmingHelper.AllVariables = [
        "TruthParticles", "TruthEvents", "MET_Truth", "METMap_Truth",
        "TruthVertices", "AntiKt4TruthJets"
    ]
    HIGG6D1SlimmingHelper.ExtraVariables += [
        "AntiKt4LCTopoJets.PartonTruthLabelID.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T"
    ]
    HIGG6D1SlimmingHelper.ExtraVariables += [
        "AntiKt4EMTopoJets.PartonTruthLabelID.TruthLabelDeltaR_B.TruthLabelDeltaR_C.TruthLabelDeltaR_T"
    ]
    HIGG6D1SlimmingHelper.ExtraVariables += [
        "Electrons.truthOrigin.truthType.truthParticleLink",
        "MuonTruthParticles.truthOrigin.truthType"
    ]
    HIGG6D1SlimmingHelper.ExtraVariables += [
        "TauJets.IsTruthMatched.truthParticleLink"
    ]

# Add MET_RefFinalFix
addMETOutputs(HIGG6D1SlimmingHelper,
              ["AntiKt4LCTopo", "AntiKt4EMTopo", "Track"])

#HIGG6D1SlimmingHelper.IncludeJetTauEtMissTriggerContent = True
#JetTauEtMissTriggerContent: now splitted in 4 slices, use only Tau and MET
HIGG6D1SlimmingHelper.IncludeEtMissTriggerContent = True
HIGG6D1SlimmingHelper.IncludeTauTriggerContent = True
HIGG6D1SlimmingHelper.IncludeJetTriggerContent = True

HIGG6D1SlimmingHelper.AppendContentToStream(HIGG6D1Stream)
Exemple #22
0
MUON5SlimmingHelper.ExtraVariables += LepTagConfig.GetExtraPromptVariablesForDxAOD(onlyBDT=False)
MUON5SlimmingHelper.ExtraVariables += LepTagConfig.GetExtraImprovedPromptVariablesForDxAOD()
MUON5SlimmingHelper.ExtraVariables += ElectronsCPDetailedContent

MUON5SlimmingHelper.AllVariables = ["egammaClusters", "CaloCalTopoClusters", "MuonClusterCollection", "TopoClusterIsoCentralEventShape", "TopoClusterIsoForwardEventShape", "AntiKt4PV0TrackJets", "BTagging_AntiKt4Track", "InDetTrackParticles","GSFConversionVertices","GSFTrackParticles"]

if is_MC:
    MUON5SlimmingHelper.AllVariables += ["TruthParticles", "TruthEvents", "TruthVertices", "AntiKt4TruthJets"]

    MUON5SlimmingHelper.ExtraVariables += ["Electrons.truthOrigin.truthType.truthParticleLink.bkgTruthType.bkgTruthOrigin."
                                           "bkgTruthParticleLink.bkgMotherPdgId.deltaPhi1",
                                           "MuonTruthParticles.truthOrigin.truthType.truthParticleLink",
                                           "InDetTrackParticles.truthOrigin.truthType.truthParticleLink",
                                           "CombinedMuonTrackParticles.truthOrigin.truthType.truthParticleLink",
                                           "TauJets.IsTruthMatched.truthParticleLink.truthJetLink"]
    
    MUON5SlimmingHelper.StaticContent = ["xAOD::TruthParticleContainer#TruthMuons",
                                         "xAOD::TruthParticleAuxContainer#TruthMuonsAux.",
                                         "xAOD::TruthParticleContainer#TruthElectrons",
                                         "xAOD::TruthParticleAuxContainer#TruthElectronsAux.",
                                         "xAOD::TruthParticleContainer#TruthNeutrinos",
                                         "xAOD::TruthParticleAuxContainer#TruthNeutrinosAux.",
                                         "xAOD::TruthParticleContainer#TruthTaus",
                                         "xAOD::TruthParticleAuxContainer#TruthTausAux."]    
    
MUON5SlimmingHelper.IncludeMuonTriggerContent  =True
MUON5SlimmingHelper.IncludeEGammaTriggerContent=True
MUON5SlimmingHelper.IncludeTauTriggerContent   =True

MUON5SlimmingHelper.AppendContentToStream(MUON5Stream)
Exemple #23
0
EXOT8SlimmingHelper.AllVariables = [
    "TruthParticles",
    "TruthEvents",
    "TruthVertices",
    "AntiKt10LCTopoJets",
    "AntiKt2PV0TrackJets",
    "AntiKt3PV0TrackJets",
    "AntiKt4PV0TrackJets",
    #"BTagging_AntiKt4TruthWZ",    #removed in new tags of MC15
    "AntiKt4TruthJets",
    "AntiKt10TruthJets",
    "CombinedMuonTrackParticles",
    "ExtrapolatedMuonTrackParticles",
]

EXOT8SlimmingHelper.StaticContent = [
    "xAOD::JetContainer#AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
    "xAOD::JetAuxContainer#AntiKt10LCTopoTrimmedPtFrac5SmallR20JetsAux.",
]
if globalflags.DataSource() == "geant4":
    EXOT8SlimmingHelper.StaticContent += [
        "xAOD::JetContainer#AntiKt10TruthTrimmedPtFrac5SmallR20Jets",
        "xAOD::JetAuxContainer#AntiKt10TruthTrimmedPtFrac5SmallR20JetsAux.",
    ]

EXOT8SlimmingHelper.IncludeJetTriggerContent = True
EXOT8SlimmingHelper.IncludeBJetTriggerContent = True
EXOT8SlimmingHelper.IncludeEGammaTriggerContent = True
EXOT8SlimmingHelper.IncludeMuonTriggerContent = True
EXOT8SlimmingHelper.AppendContentToStream(EXOT8Stream)
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)