예제 #1
0
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
    "EGAM1Kernel",
    AugmentationTools=[
        EGAM1_ZEEMassTool1, EGAM1_ZEEMassTool2, EGAM1_ZEEMassTool3,
        EGAM1_ZEGMassTool, EGAM1_GainDecoratorTool, EGAM1_MaxCellDecoratorTool
    ] + EGAM1_ClusterEnergyPerLayerDecorators,
    SkimmingTools=[EGAM1SkimmingTool],
    ThinningTools=thinningTools)

#=======================================
# ADD NON-PROMPT LEPTON VETO ALGORITHMS
#=======================================
import JetTagNonPromptLepton.JetTagNonPromptLeptonConfig as Config

DerivationFrameworkJob += Config.DecoratePromptLepton("Electrons",
                                                      "AntiKt4PV0TrackJets")
DerivationFrameworkJob += Config.DecoratePromptLepton("Muons",
                                                      "AntiKt4PV0TrackJets")

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

#====================================================================
# SET UP STREAM
#====================================================================
streamName = derivationFlags.WriteDAOD_EGAM1Stream.StreamName
fileName = buildFileName(derivationFlags.WriteDAOD_EGAM1Stream)
EGAM1Stream = 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
예제 #2
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)
예제 #3
0
# THIS IS NO LONGER NEEDED IN REL 21, REMOVE IN FUTURE (May-17)
# # Then apply the TruthWZ fix
# if DFisMC:
#   replaceBuggyAntiKt4TruthWZJets(TOPQ4Sequence,'TOPQ4')

# Then apply truth tools in the form of aumentation
if DFisMC:
    from DerivationFrameworkTop.TOPQCommonTruthTools import *
    TOPQ4Sequence += TOPQCommonTruthKernel

DerivationFrameworkTop.TOPQCommonJets.addMSVVariables("AntiKt4EMTopoJets",
                                                      TOPQ4Sequence, ToolSvc)

# Then apply thinning
TOPQ4Sequence += CfgMgr.DerivationFramework__DerivationKernel(
    "TOPQ4Kernel", ThinningTools=thinningTools)

# JetTagNonPromptLepton decorations
import JetTagNonPromptLepton.JetTagNonPromptLeptonConfig as Config
TOPQ4Sequence += Config.GetDecoratePromptLeptonAlgs()

# Finally, add the private sequence to the main job
DerivationFrameworkJob += TOPQ4Sequence

#====================================================================
# SLIMMING
#====================================================================
import DerivationFrameworkTop.TOPQCommonSlimming
DerivationFrameworkTop.TOPQCommonSlimming.setup('TOPQ4', TOPQ4Stream)
예제 #4
0
    SkimmingTools=[EGAM1SkimmingTool],
    ThinningTools=thinningTools)

#====================================================================
# RESTORE JET COLLECTIONS REMOVED BETWEEN r20 AND r21
#====================================================================
from DerivationFrameworkJetEtMiss.ExtendedJetCommon import replaceAODReducedJets
#reducedJetList = ["AntiKt4PV0TrackJets", "AntiKt4TruthJets"]
reducedJetList = ["AntiKt4TruthJets"]
replaceAODReducedJets(reducedJetList, egam1Seq, "EGAM1")

#=======================================
# ADD NON-PROMPT LEPTON VETO ALGORITHMS
#=======================================
import JetTagNonPromptLepton.JetTagNonPromptLeptonConfig as JetTagConfig
JetTagConfig.ConfigureAntiKt4PV0TrackJets(egam1Seq, "EGAM1")
egam1Seq += JetTagConfig.GetDecoratePromptLeptonAlgs(name="Electrons")

#====================================================================
# SET UP STREAM SELECTION
#====================================================================
# 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
EGAM1Stream.AcceptAlgs(["EGAM1Kernel"])

#====================================================================
# SET UP SLIMMING
#====================================================================
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
예제 #5
0
    the_alg = VertexDecoratorAlg(alg_name)
    InDetTool = InDet__InDetTrackSelectionTool(
        "TrackSelectionTool_VertexDecoration")
    InDetTool.minPt = 400
    InDetTool.CutLevel = "Loose"
    ToolSvc += InDetTool
    the_alg.TrackSelectionTool = InDetTool
    DerivationFrameworkJob += the_alg

#====================================================================
# JetTagNonPromptLepton decorations
#====================================================================
import JetTagNonPromptLepton.JetTagNonPromptLeptonConfig as JetTagConfig
import LeptonTaggers.LeptonTaggersConfig as LepTagConfig
if not hasattr(MUON1Seq, "Muons_decoratePromptLepton"):
    JetTagConfig.ConfigureAntiKt4PV0TrackJets(MUON1Seq, "MUON1")
    MUON1Seq += JetTagConfig.GetDecoratePromptLeptonAlgs()
    MUON1Seq += LepTagConfig.GetDecorateImprovedPromptLeptonAlgs()

from DerivationFrameworkMuons import ConstituentPileupIso
ConstituentPileupIso.ConstituentPileupIso(MUON1Seq)
from DerivationFrameworkFlavourTag.FlavourTagCommon import FlavorTagInit
FlavorTagInit(JetCollections=['AntiKt4EMPFlowJets'], Sequencer=MUON1Seq)

#====================================================================
# Add the containers to the output stream - slimming done here
#====================================================================
from DerivationFrameworkMuons.StreamConfig import MuonsDxAODStreamConfigurer as conf
if hasattr(ToolSvc, "MUON1MuonTP_Reco_mumu"):
    conf.Items['MUON1'] += [
        "xAOD::VertexContainer#%s" %