Skip to content
Snippets Groups Projects
Commit b32dfebd authored by Bertrand Martin's avatar Bertrand Martin
Browse files

DerivationFrameworkTau: first update of TAUP3

Hello,

This MR is making some cleanup in TAUP3, just to have a working R22 setup to develop on.

Cheers,
Bertrand
parent a536d781
No related branches found
No related tags found
No related merge requests found
......@@ -7,109 +7,89 @@ from DerivationFrameworkInDet.InDetCommon import *
from DerivationFrameworkJetEtMiss.JetCommon import *
from DerivationFrameworkJetEtMiss.ExtendedJetCommon import *
from DerivationFrameworkJetEtMiss.METCommon import *
from DerivationFrameworkEGamma.EGammaCommon import *
from DerivationFrameworkMuons.MuonsCommon import *
if DerivationFrameworkIsMonteCarlo:
from DerivationFrameworkMCTruth.MCTruthCommon import *
from DerivationFrameworkTau.TauTruthCommon import *
from DerivationFrameworkTau.TauCommon import *
# ==========================================================================================================================
# Set up stream
# ==========================================================================================================================
streamName = derivationFlags.WriteDAOD_TAUP3Stream.StreamName
fileName = buildFileName( derivationFlags.WriteDAOD_TAUP3Stream )
TAUP3Stream = MSMgr.NewPoolRootStream( streamName, fileName )
streamName = derivationFlags.WriteDAOD_TAUP3Stream.StreamName
fileName = buildFileName( derivationFlags.WriteDAOD_TAUP3Stream )
TAUP3Stream = MSMgr.NewPoolRootStream( streamName, fileName )
TAUP3Stream.AcceptAlgs(["TAUP3Kernel"])
augStream = MSMgr.GetStream( streamName )
evtStream = augStream.GetEventStream()
augStream = MSMgr.GetStream( streamName )
evtStream = augStream.GetEventStream()
SeqTAUP3 = CfgMgr.AthSequencer("SeqTAUP3")
# ==========================================================================================================================
# Thinning tool
# MC truth
# ==========================================================================================================================
# MET/Jet tracks
thinning_expression = "(InDetTrackParticles.pt > 0.5*GeV) && (InDetTrackParticles.numberOfPixelHits > 0) && (InDetTrackParticles.numberOfSCTHits > 5) && (abs(DFCommonInDetTrackZ0AtPV) < 1.5)"
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__JetTrackParticleThinning
TAUP3JetTPThinningTool = DerivationFramework__JetTrackParticleThinning(
name = "TAUP3JetTPThinningTool",
StreamName = streamName,
JetKey = "AntiKt4LCTopoJets",
InDetTrackParticlesKey = "InDetTrackParticles",
TrackSelectionString = thinning_expression)
ToolSvc += TAUP3JetTPThinningTool
if DerivationFrameworkIsMonteCarlo:
from DerivationFrameworkMCTruth.MCTruthCommon import addStandardTruthContents
addStandardTruthContents(SeqTAUP3,prefix='TAUP3_')
# ==========================================================================================================================
# Thinning tool
# ==========================================================================================================================
from DerivationFrameworkCalo.DerivationFrameworkCaloConf import DerivationFramework__CaloClusterThinning
TAUP3CaloClusterThinning = DerivationFramework__CaloClusterThinning(
name = "TAUP3ClusterThinning",
StreamName = streamName,
SGKey = "TauJets",
TopoClCollectionSGKey = "CaloCalTopoClusters")
ToolSvc += TAUP3CaloClusterThinning
TAUP3CaloClusterThinning = DerivationFramework__CaloClusterThinning(name = "TAUP3ClusterThinning",
StreamName = streamName,
SGKey = "TauJets",
TopoClCollectionSGKey = "CaloCalTopoClusters")
ToolSvc += TAUP3CaloClusterThinning
# Tracks associated with electrons
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__EgammaTrackParticleThinning
TAUP3ElectronTPThinningTool = DerivationFramework__EgammaTrackParticleThinning(
name = "TAUP3ElectronTPThinningTool",
StreamName = streamName,
SGKey = "Electrons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += TAUP3ElectronTPThinningTool
TAUP3ElectronTPThinningTool = DerivationFramework__EgammaTrackParticleThinning(name = "TAUP3ElectronTPThinningTool",
StreamName = streamName,
SGKey = "Electrons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += TAUP3ElectronTPThinningTool
# Tracks associated with muons
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__MuonTrackParticleThinning
TAUP3MuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning(
name = "TAUP3MuonTPThinningTool",
StreamName = streamName,
MuonKey = "Muons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += TAUP3MuonTPThinningTool
TAUP3MuonTPThinningTool = DerivationFramework__MuonTrackParticleThinning(name = "TAUP3MuonTPThinningTool",
StreamName = streamName,
MuonKey = "Muons",
InDetTrackParticlesKey = "InDetTrackParticles")
ToolSvc += TAUP3MuonTPThinningTool
# Tracks associated with taus
from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TauTrackParticleThinning
TAUP3TauTPThinningTool = DerivationFramework__TauTrackParticleThinning(
name = "TAUP3TauTPThinningTool",
StreamName = streamName,
TauKey = "TauJets",
InDetTrackParticlesKey = "InDetTrackParticles",
ConeSize = 0.6)
ToolSvc += TAUP3TauTPThinningTool
TAUP3TauTPThinningTool = DerivationFramework__TauTrackParticleThinning(name = "TAUP3TauTPThinningTool",
StreamName = streamName,
TauKey = "TauJets",
InDetTrackParticlesKey = "InDetTrackParticles",
ConeSize = 0.6)
ToolSvc += TAUP3TauTPThinningTool
# ==========================================================================================================================
# Skimming tool
# ==========================================================================================================================
muRequirement = "( count( (Muons.pt > 22.0*GeV) && Muons.DFCommonGoodMuon ) >= 1 )"
tauRequirement = "( count( (TauJets.pt > 18.0*GeV) && (abs(TauJets.charge)==1.0) && ((TauJets.nTracks == 1) || (TauJets.nTracks == 3)) ) >= 1 )"
muRequirement = "( count( (Muons.pt > 22.0*GeV) && Muons.DFCommonGoodMuon ) >= 1 )"
tauRequirement = "( count( (TauJets.pt > 15.0*GeV) && (abs(TauJets.charge)==1.0) && ((TauJets.nTracks == 1) || (TauJets.nTracks == 3)) ) >= 1 )"
expression = muRequirement + " && " + tauRequirement
expression = muRequirement + " && " + tauRequirement
from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
TAUP3SkimmingTool = DerivationFramework__xAODStringSkimmingTool(
name = "TAUP3SkimmingTool",
expression = expression)
TAUP3SkimmingTool = DerivationFramework__xAODStringSkimmingTool(name = "TAUP3SkimmingTool",
expression = expression)
ToolSvc += TAUP3SkimmingTool
ToolSvc += TAUP3SkimmingTool
# ==========================================================================================================================
# Kernel algorithm
# ==========================================================================================================================
augmentationTools = []
# JRC: This is now done in TauCommon.py
# if DerivationFrameworkIsMonteCarlo:
# augmentationTools += [DFCommonTauTruthMatchingWrapper]
from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__DerivationKernel
DerivationFrameworkJob += CfgMgr.DerivationFramework__DerivationKernel(
"TAUP3Kernel",
SkimmingTools = [TAUP3SkimmingTool],
ThinningTools = [TAUP3MetTPThinningTool,
TAUP3JetTPThinningTool,
TAUP3CaloClusterThinning,
TAUP3ElectronTPThinningTool,
TAUP3MuonTPThinningTool,
TAUP3TauTPThinningTool],
AugmentationTools = augmentationTools)
SeqTAUP3 += CfgMgr.DerivationFramework__DerivationKernel("TAUP3Kernel",
SkimmingTools = [TAUP3SkimmingTool],
ThinningTools = [TAUP3CaloClusterThinning,
TAUP3ElectronTPThinningTool,
TAUP3MuonTPThinningTool,
TAUP3TauTPThinningTool])
DerivationFrameworkJob += SeqTAUP3
# ==========================================================================================================================
# Add the containers to the output stream (slimming done here)
......@@ -117,31 +97,19 @@ DerivationFrameworkJob += CfgMgr.DerivationFramework__D
from DerivationFrameworkCore.SlimmingHelper import SlimmingHelper
from DerivationFrameworkTau.TAUPExtraContent import *
TAUP3SlimmingHelper = SlimmingHelper("TAUP3SlimmingHelper")
TAUP3SlimmingHelper.SmartCollections = ["Electrons",
"Photons",
"Muons",
"TauJets",
"MET_Reference_AntiKt4EMTopo",
"MET_Reference_AntiKt4LCTopo",
"AntiKt4EMTopoJets",
"AntiKt4LCTopoJets",
"BTagging_AntiKt4EMTopo",
"BTagging_AntiKt4LCTopo",
"InDetTrackParticles",
"PrimaryVertices"]
if DerivationFrameworkIsMonteCarlo:
TAUP3SlimmingHelper.StaticContent = ["xAOD::TruthParticleContainer#TruthElectrons",
"xAOD::TruthParticleAuxContainer#TruthElectronsAux.",
"xAOD::TruthParticleContainer#TruthMuons",
"xAOD::TruthParticleAuxContainer#TruthMuonsAux.",
"xAOD::TruthParticleContainer#TruthTaus",
"xAOD::TruthParticleAuxContainer#TruthTausAux.",
"xAOD::TruthParticleContainer#TruthPhotons",
"xAOD::TruthParticleAuxContainer#TruthPhotonsAux.",
"xAOD::TruthParticleContainer#TruthNeutrinos",
"xAOD::TruthParticleAuxContainer#TruthNeutrinosAux."]
TAUP3SlimmingHelper = SlimmingHelper("TAUP3SlimmingHelper")
TAUP3SlimmingHelper.SmartCollections = ["Electrons",
"Photons",
"Muons",
"TauJets",
"MET_Reference_AntiKt4EMTopo",
"MET_Reference_AntiKt4LCTopo",
"AntiKt4EMTopoJets",
"AntiKt4LCTopoJets",
#"BTagging_AntiKt4EMTopo",
#"BTagging_AntiKt4LCTopo",
"InDetTrackParticles",
"PrimaryVertices"]
TAUP3SlimmingHelper.IncludeMuonTriggerContent = True
TAUP3SlimmingHelper.IncludeEGammaTriggerContent = True
......@@ -149,18 +117,19 @@ TAUP3SlimmingHelper.IncludeEtMissTriggerContent = True
TAUP3SlimmingHelper.IncludeJetTriggerContent = True
TAUP3SlimmingHelper.IncludeBJetTriggerContent = True
TAUP3SlimmingHelper.ExtraVariables = ExtraContentTAUP3
TAUP3SlimmingHelper.AllVariables = ExtraContainersTAUP3
TAUP3SlimmingHelper.ExtraVariables = ExtraContentTAUP3
TAUP3SlimmingHelper.AllVariables = ExtraContainersTAUP3
if globalflags.DataSource() == "geant4":
TAUP3SlimmingHelper.ExtraVariables += ExtraContentTruthTAUP3
TAUP3SlimmingHelper.AllVariables += ExtraContainersTruthTAUP3
if DerivationFrameworkIsMonteCarlo:
TAUP3SlimmingHelper.ExtraVariables += ExtraContentTruthTAUP3
TAUP3SlimmingHelper.AllVariables += ExtraContainersTruthTAUP3
TAUP3SlimmingHelper.AllVariables += ["TruthElectrons",
"TruthMuons",
"TruthTaus",
"TruthPhotons",
"TruthNeutrinos"]
TAUP3SlimmingHelper.AppendContentToStream(TAUP3Stream)
TAUP3Stream.AddItem("xAOD::EventShape#*")
TAUP3Stream.AddItem("xAOD::EventShapeAuxInfo#*")
# Add MET_RefFinalFix
# JRC TEMPORARILY COMMENTED
# addMETOutputs(TAUP3Stream)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment