Commit 450749c0 authored by Vakhtang Tsulaia's avatar Vakhtang Tsulaia
Browse files

Merge branch 'master-PHYSLITE_from_PHYS' into 'master'

Changes to allow DAOD_PHYSLITE to be made from DAOD_PHYS

See merge request atlas/athena!45798
parents 4e3733fb e60bd03a
......@@ -33,7 +33,7 @@ listAODtoDPD.append(WriteDAOD_PHYSVALStream.StreamName)
####################################
class WriteDAOD_PHYSStream(JobProperty):
""" DAOD_PHYS - prototype format for Run 3 """
""" DAOD_PHYS - main analysis format for Run 3 """
statusOn = True
allowedTypes = ['bool']
StoredValue = False
......@@ -46,7 +46,7 @@ jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_PHYSStream)
listAODtoDPD.append(WriteDAOD_PHYSStream.StreamName)
class WriteDAOD_PHYSLITEStream(JobProperty):
""" DAOD_PHYSLITE - prototype format for Run 3 """
""" DAOD_PHYSLITE - prototype format for Run 4 """
statusOn = True
allowedTypes = ['bool']
StoredValue = False
......@@ -58,18 +58,19 @@ class WriteDAOD_PHYSLITEStream(JobProperty):
jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_PHYSLITEStream)
listAODtoDPD.append(WriteDAOD_PHYSLITEStream.StreamName)
class WriteDAOD_NANOStream(JobProperty):
""" DAOD_NANO - prototype format for Run 3 """
# Second entry needed for PHYS->PHYSLITE case
class WriteD2AOD_PHYSLITEStream(JobProperty):
""" D2AOD_PHYSLITE - prototype format for Run 4 """
statusOn = True
allowedTypes = ['bool']
StoredValue = False
StreamName = "StreamDAOD_NANO"
StreamName = "StreamD2AOD_PHYSLITE"
FileName = ""
isVirtual = False
DPDMakerScript = "DerivationFrameworkExamples/NANO.py"
DPDMakerScript = "DerivationFrameworkPhys/PHYSLITE.py"
pass
jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_NANOStream)
listAODtoDPD.append(WriteDAOD_NANOStream.StreamName)
jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteD2AOD_PHYSLITEStream)
listAODtoDPD.append(WriteD2AOD_PHYSLITEStream.StreamName)
class WriteDAOD_TRIGStream(JobProperty):
""" DAOD_TRIG - trigger prototype format for Run 3 """
......
......@@ -59,56 +59,6 @@ if (DerivationFrameworkIsMonteCarlo):
# Set appropriate truth jet collection for tau truth matching
ToolSvc.DFCommonTauTruthMatchingTool.TruthJetContainerName = "AntiKt4TruthDressedWZJets"
#====================================================================
# TRIGGER CONTENT
#====================================================================
## See https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerAPI
## Get single and multi mu, e, photon triggers
## Jet, tau, multi-object triggers not available in the matching code
allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
trig_el = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8)
trig_mu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8)
trig_g = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8)
trig_tau = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, livefraction=0.8)
## Add cross-triggers for some sets
trig_em = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.mu, livefraction=0.8)
trig_et = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.tau, livefraction=0.8)
trig_mt = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, additionalTriggerType=TriggerType.tau, livefraction=0.8)
## Note that this seems to pick up both isolated and non-isolated triggers already, so no need for extra grabs
trig_txe = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, additionalTriggerType=TriggerType.xe, livefraction=0.8)
#
## Merge and remove duplicates
trigger_names_full_notau = list(set(trig_el+trig_mu+trig_g+trig_em+trig_et+trig_mt))
trigger_names_full_tau = list(set(trig_tau+trig_txe))
#
## Now reduce the list...
trigger_names_notau = []
trigger_names_tau = []
from AthenaConfiguration.AutoConfigFlags import GetFileMD
from AthenaConfiguration.AllConfigFlags import ConfigFlags
if ConfigFlags.Trigger.EDMVersion == 3:
r_tau = re.compile("HLT_.*tau.*")
r_notau = re.compile("HLT_[1-9]*(e|mu).*")
r_veto = re.compile("HLT_.*(LRT).*")
for chain_name in GetFileMD(ConfigFlags.Input.Files)['TriggerMenu']['HLTChains']:
result_tau = r_tau.match(chain_name)
result_notau = r_notau.match(chain_name)
result_veto = r_veto.match(chain_name)
if result_tau is not None and result_veto is None: trigger_names_tau.append(chain_name)
if result_notau is not None and result_veto is None: trigger_names_notau.append(chain_name)
trigger_names_notau = set(trigger_names_notau) - set(trigger_names_tau)
trigger_names_notau = list(trigger_names_notau)
else:
for chain_name in GetFileMD(ConfigFlags.Input.Files)['TriggerMenu']['HLTChains']:
if chain_name in trigger_names_full_notau: trigger_names_notau.append(chain_name)
if chain_name in trigger_names_full_tau: trigger_names_tau.append(chain_name)
# Create trigger matching decorations
PhysCommon_trigmatching_helper_notau = TriggerMatchingHelper(name='PhysCommonTriggerMatchingToolNoTau',
trigger_list = trigger_names_notau, add_to_df_job=True)
PhysCommon_trigmatching_helper_tau = TriggerMatchingHelper(name='PhysCommonTriggerMatchingToolTau',
trigger_list = trigger_names_tau, add_to_df_job=True, DRThreshold=0.2)
#====================================================================
# JET/MET
#====================================================================
......
# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
#====================================================================
# PhysCommonTrigger.py
# This defines the common trigger matching shared by PHYS and PHYSLITE
# Using it avoids name clashes when running in trains
# In principle it can also be used by other formats who want to take
# advantage of PHYS/PHYSLITE containers
#====================================================================
from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
from DerivationFrameworkTrigger.TriggerMatchingHelper import TriggerMatchingHelper
import re
#====================================================================
# TRIGGER CONTENT
#====================================================================
## See https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerAPI
## Get single and multi mu, e, photon triggers
## Jet, tau, multi-object triggers not available in the matching code
allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
trig_el = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, livefraction=0.8)
trig_mu = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, livefraction=0.8)
trig_g = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.g, livefraction=0.8)
trig_tau = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, livefraction=0.8)
## Add cross-triggers for some sets
trig_em = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.mu, livefraction=0.8)
trig_et = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.el, additionalTriggerType=TriggerType.tau, livefraction=0.8)
trig_mt = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.mu, additionalTriggerType=TriggerType.tau, livefraction=0.8)
## Note that this seems to pick up both isolated and non-isolated triggers already, so no need for extra grabs
trig_txe = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType=TriggerType.tau, additionalTriggerType=TriggerType.xe, livefraction=0.8)
#
## Merge and remove duplicates
trigger_names_full_notau = list(set(trig_el+trig_mu+trig_g+trig_em+trig_et+trig_mt))
trigger_names_full_tau = list(set(trig_tau+trig_txe))
#
## Now reduce the list...
trigger_names_notau = []
trigger_names_tau = []
from AthenaConfiguration.AutoConfigFlags import GetFileMD
from AthenaConfiguration.AllConfigFlags import ConfigFlags
if ConfigFlags.Trigger.EDMVersion == 3:
r_tau = re.compile("HLT_.*tau.*")
r_notau = re.compile("HLT_[1-9]*(e|mu).*")
r_veto = re.compile("HLT_.*(LRT).*")
for chain_name in GetFileMD(ConfigFlags.Input.Files)['TriggerMenu']['HLTChains']:
result_tau = r_tau.match(chain_name)
result_notau = r_notau.match(chain_name)
result_veto = r_veto.match(chain_name)
if result_tau is not None and result_veto is None: trigger_names_tau.append(chain_name)
if result_notau is not None and result_veto is None: trigger_names_notau.append(chain_name)
trigger_names_notau = set(trigger_names_notau) - set(trigger_names_tau)
trigger_names_notau = list(trigger_names_notau)
else:
for chain_name in GetFileMD(ConfigFlags.Input.Files)['TriggerMenu']['HLTChains']:
if chain_name in trigger_names_full_notau: trigger_names_notau.append(chain_name)
if chain_name in trigger_names_full_tau: trigger_names_tau.append(chain_name)
# Create trigger matching decorations
trigmatching_helper_notau = TriggerMatchingHelper(name='PhysCommonTriggerMatchingToolNoTau',
trigger_list = trigger_names_notau, add_to_df_job=True)
trigmatching_helper_tau = TriggerMatchingHelper(name='PhysCommonTriggerMatchingToolTau',
trigger_list = trigger_names_tau, add_to_df_job=True, DRThreshold=0.2)
......@@ -14,6 +14,7 @@ nanolog = Logging.logging.getLogger('PHYS')
from DerivationFrameworkCore.DerivationFrameworkMaster import buildFileName
from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkIsMonteCarlo, DerivationFrameworkJob
from DerivationFrameworkPhys import PhysCommon
from DerivationFrameworkPhys import PhysCommonTrigger
from DerivationFrameworkEGamma import ElectronsCPDetailedContent
from DerivationFrameworkJetEtMiss import METCommon
from DerivationFrameworkJetEtMiss.METCommon import scheduleMETAssocAlg
......@@ -218,8 +219,8 @@ PHYSSlimmingHelper.ExtraVariables += ["AntiKt10TruthTrimmedPtFrac5SmallR20Jets.T
"InDetTrackParticles.TTVA_AMVFVertices.TTVA_AMVFWeights"]
# Add trigger matching
PhysCommon.PhysCommon_trigmatching_helper_notau.add_to_slimming(PHYSSlimmingHelper)
PhysCommon.PhysCommon_trigmatching_helper_tau.add_to_slimming(PHYSSlimmingHelper)
PhysCommonTrigger.trigmatching_helper_notau.add_to_slimming(PHYSSlimmingHelper)
PhysCommonTrigger.trigmatching_helper_tau.add_to_slimming(PHYSSlimmingHelper)
# Final construction of output stream
PHYSSlimmingHelper.AppendContentToStream(PHYSStream)
......
......@@ -9,18 +9,30 @@ nanolog = Logging.logging.getLogger('PHYSLITE')
from DerivationFrameworkCore.DerivationFrameworkMaster import buildFileName
from DerivationFrameworkCore.DerivationFrameworkMaster import DerivationFrameworkIsMonteCarlo, DerivationFrameworkJob
from DerivationFrameworkPhys import PhysCommon
# Is input AOD or DAOD?
inputIsDAODPHYS = False
from RecExConfig.InputFilePeeker import inputFileSummary
if inputFileSummary['stream_names'][0] == 'StreamDAOD_PHYS': inputIsDAODPHYS = True
if (inputIsDAODPHYS==False):
# Only schedule these is input is AOD
from DerivationFrameworkPhys import PhysCommon
from DerivationFrameworkCore import LHE3WeightMetadata
from DerivationFrameworkPhys import PhysCommonTrigger
from DerivationFrameworkEGamma import ElectronsCPDetailedContent
from DerivationFrameworkJetEtMiss import METCommon
from DerivationFrameworkJetEtMiss.METCommon import scheduleMETAssocAlg
from DerivationFrameworkCore import LHE3WeightMetadata
import re
#====================================================================
# SET UP STREAM
#====================================================================
streamName = derivationFlags.WriteDAOD_PHYSLITEStream.StreamName
fileName = buildFileName( derivationFlags.WriteDAOD_PHYSLITEStream )
if(inputIsDAODPHYS):
streamName = derivationFlags.WriteD2AOD_PHYSLITEStream.StreamName
fileName = buildFileName( derivationFlags.WriteD2AOD_PHYSLITEStream )
else:
streamName = derivationFlags.WriteDAOD_PHYSLITEStream.StreamName
fileName = buildFileName( derivationFlags.WriteDAOD_PHYSLITEStream )
PHYSLITEStream = MSMgr.NewPoolRootStream( streamName, fileName )
PHYSLITEStream.AcceptAlgs(["PHYSLITEKernel"])
......@@ -82,74 +94,75 @@ if DerivationFrameworkIsMonteCarlo:
# https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/DaodRecommendations
# Inner detector group recommendations for indet tracks in analysis
PHYSLITE_thinning_expression = "InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 3.0*mm && InDetTrackParticles.pt > 10*GeV"
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TrackParticleThinning
PHYSLITETrackParticleThinningTool = DerivationFramework__TrackParticleThinning(name = "PHYSLITETrackParticleThinningTool",
StreamName = PHYSLITEStream.Name,
SelectionString = PHYSLITE_thinning_expression,
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += PHYSLITETrackParticleThinningTool
thinningTools.append(PHYSLITETrackParticleThinningTool)
# Include inner detector tracks associated with muons
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__MuonTrackParticleThinning
PHYSLITEMuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning(name = "PHYSLITEMuonTPThinningTool",
StreamName = PHYSLITEStream.Name,
MuonKey = "Muons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += PHYSLITEMuonTPThinningTool
thinningTools.append(PHYSLITEMuonTPThinningTool)
# TauJets thinning
tau_thinning_expression = "(TauJets.ptFinalCalib >= 13.*GeV) && (TauJets.nTracks>=1) && (TauJets.nTracks<=3) && (TauJets.RNNJetScoreSigTrans>0.01)"
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__GenericObjectThinning
PHYSLITETauJetsThinningTool = DerivationFramework__GenericObjectThinning(name = "PHYSLITETauJetsThinningTool",
StreamName = PHYSLITEStream.Name,
ContainerName = "TauJets",
SelectionString = tau_thinning_expression)
ToolSvc += PHYSLITETauJetsThinningTool
thinningTools.append(PHYSLITETauJetsThinningTool)
# Only keep tau tracks (and associated ID tracks) classified as charged tracks
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TauTrackParticleThinning
PHYSLITETauTPThinningTool = DerivationFramework__TauTrackParticleThinning(name = "PHYSLITETauTPThinningTool",
StreamName = PHYSLITEStream.Name,
TauKey = "TauJets",
InDetTrackParticlesKey = "InDetTrackParticles",
SelectionString = tau_thinning_expression,
DoTauTracksThinning = True,
TauTracksKey = "TauTracks")
ToolSvc += PHYSLITETauTPThinningTool
thinningTools.append(PHYSLITETauTPThinningTool)
# ID tracks associated with high-pt di-tau
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__DiTauTrackParticleThinning
PHYSLITEDiTauTPThinningTool = DerivationFramework__DiTauTrackParticleThinning(name = "PHYSLITEDiTauTPThinningTool",
if (inputIsDAODPHYS == False):
PHYSLITE_thinning_expression = "InDetTrackParticles.DFCommonTightPrimary && abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 3.0*mm && InDetTrackParticles.pt > 10*GeV"
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TrackParticleThinning
PHYSLITETrackParticleThinningTool = DerivationFramework__TrackParticleThinning(name = "PHYSLITETrackParticleThinningTool",
StreamName = PHYSLITEStream.Name,
SelectionString = PHYSLITE_thinning_expression,
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += PHYSLITETrackParticleThinningTool
thinningTools.append(PHYSLITETrackParticleThinningTool)
# Include inner detector tracks associated with muons
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__MuonTrackParticleThinning
PHYSLITEMuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning(name = "PHYSLITEMuonTPThinningTool",
StreamName = PHYSLITEStream.Name,
DiTauKey = "DiTauJets",
MuonKey = "Muons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += PHYSLITEDiTauTPThinningTool
thinningTools.append(PHYSLITEDiTauTPThinningTool)
# Low-pt di-tau thinning
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__GenericObjectThinning
PHYSLITEDiTauLowPtThinningTool = DerivationFramework__GenericObjectThinning(name = "PHYSLITEDiTauLowPtThinningTool",
StreamName = PHYSLITEStream.Name,
ContainerName = "DiTauJetsLowPt",
SelectionString = "DiTauJetsLowPt.nSubjets > 1")
ToolSvc += PHYSLITEDiTauLowPtThinningTool
thinningTools.append(PHYSLITEDiTauLowPtThinningTool)
# ID tracks associated with low-pt ditau
PHYSLITEDiTauLowPtTPThinningTool = DerivationFramework__DiTauTrackParticleThinning(name = "PHYSLITEDiTauLowPtTPThinningTool",
StreamName = PHYSLITEStream.Name,
DiTauKey = "DiTauJetsLowPt",
InDetTrackParticlesKey = "InDetTrackParticles",
SelectionString = "DiTauJetsLowPt.nSubjets > 1")
ToolSvc += PHYSLITEDiTauLowPtTPThinningTool
thinningTools.append(PHYSLITEDiTauLowPtTPThinningTool)
ToolSvc += PHYSLITEMuonTPThinningTool
thinningTools.append(PHYSLITEMuonTPThinningTool)
# TauJets thinning
tau_thinning_expression = "(TauJets.ptFinalCalib >= 13.*GeV) && (TauJets.nTracks>=1) && (TauJets.nTracks<=3) && (TauJets.RNNJetScoreSigTrans>0.01)"
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__GenericObjectThinning
PHYSLITETauJetsThinningTool = DerivationFramework__GenericObjectThinning(name = "PHYSLITETauJetsThinningTool",
StreamName = PHYSLITEStream.Name,
ContainerName = "TauJets",
SelectionString = tau_thinning_expression)
ToolSvc += PHYSLITETauJetsThinningTool
thinningTools.append(PHYSLITETauJetsThinningTool)
# Only keep tau tracks (and associated ID tracks) classified as charged tracks
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TauTrackParticleThinning
PHYSLITETauTPThinningTool = DerivationFramework__TauTrackParticleThinning(name = "PHYSLITETauTPThinningTool",
StreamName = PHYSLITEStream.Name,
TauKey = "TauJets",
InDetTrackParticlesKey = "InDetTrackParticles",
SelectionString = tau_thinning_expression,
DoTauTracksThinning = True,
TauTracksKey = "TauTracks")
ToolSvc += PHYSLITETauTPThinningTool
thinningTools.append(PHYSLITETauTPThinningTool)
# ID tracks associated with high-pt di-tau
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__DiTauTrackParticleThinning
PHYSLITEDiTauTPThinningTool = DerivationFramework__DiTauTrackParticleThinning(name = "PHYSLITEDiTauTPThinningTool",
StreamName = PHYSLITEStream.Name,
DiTauKey = "DiTauJets",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += PHYSLITEDiTauTPThinningTool
thinningTools.append(PHYSLITEDiTauTPThinningTool)
# Low-pt di-tau thinning
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__GenericObjectThinning
PHYSLITEDiTauLowPtThinningTool = DerivationFramework__GenericObjectThinning(name = "PHYSLITEDiTauLowPtThinningTool",
StreamName = PHYSLITEStream.Name,
ContainerName = "DiTauJetsLowPt",
SelectionString = "DiTauJetsLowPt.nSubjets > 1")
ToolSvc += PHYSLITEDiTauLowPtThinningTool
thinningTools.append(PHYSLITEDiTauLowPtThinningTool)
# ID tracks associated with low-pt ditau
PHYSLITEDiTauLowPtTPThinningTool = DerivationFramework__DiTauTrackParticleThinning(name = "PHYSLITEDiTauLowPtTPThinningTool",
StreamName = PHYSLITEStream.Name,
DiTauKey = "DiTauJetsLowPt",
InDetTrackParticlesKey = "InDetTrackParticles",
SelectionString = "DiTauJetsLowPt.nSubjets > 1")
ToolSvc += PHYSLITEDiTauLowPtTPThinningTool
thinningTools.append(PHYSLITEDiTauLowPtTPThinningTool)
#==============================================================================
# Analysis-level variables
......@@ -237,12 +250,12 @@ scheduleMETAssocAlg(sequence=SeqPHYSLITE,configlist="AnalysisMET")
from DerivationFrameworkTrigger.TriggerMatchingHelper import TriggerMatchingHelper
PHYSLITEtrigmatching_helper_notau = TriggerMatchingHelper(name='PHYSLITETriggerMatchingToolNoTau',
OutputContainerPrefix = "Analysis",
trigger_list = PhysCommon.trigger_names_notau, add_to_df_job=False,
trigger_list = PhysCommonTrigger.trigger_names_notau, add_to_df_job=False,
InputElectrons="AnalysisElectrons",InputPhotons="AnalysisPhotons",
InputMuons="AnalysisMuons",InputTaus="AnalysisTauJets")
PHYSLITEtrigmatching_helper_tau = TriggerMatchingHelper(name='PHYSLITETriggerMatchingToolTau',
OutputContainerPrefix = "Analysis",
trigger_list = PhysCommon.trigger_names_tau, add_to_df_job=False, DRThreshold=0.2,
trigger_list = PhysCommonTrigger.trigger_names_tau, add_to_df_job=False, DRThreshold=0.2,
InputElectrons="AnalysisElectrons",InputPhotons="AnalysisPhotons",
InputMuons="AnalysisMuons",InputTaus="AnalysisTauJets")
SeqPHYSLITE += PHYSLITEtrigmatching_helper_notau.alg
......@@ -341,8 +354,8 @@ if DerivationFrameworkIsMonteCarlo:
addTruth3ContentToSlimmerTool(PHYSLITESlimmingHelper)
# Add trigger matching
PhysCommon.PhysCommon_trigmatching_helper_notau.add_to_slimming(PHYSLITESlimmingHelper)
PhysCommon.PhysCommon_trigmatching_helper_tau.add_to_slimming(PHYSLITESlimmingHelper)
PhysCommonTrigger.trigmatching_helper_notau.add_to_slimming(PHYSLITESlimmingHelper)
PhysCommonTrigger.trigmatching_helper_tau.add_to_slimming(PHYSLITESlimmingHelper)
PHYSLITEtrigmatching_helper_notau.add_to_slimming(PHYSLITESlimmingHelper)
PHYSLITEtrigmatching_helper_tau.add_to_slimming(PHYSLITESlimmingHelper)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment