diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py
index 660c399accb3b6468adb94cfb280ddfd00d5ca90..ae66e81322b5d8ef592ae5a82a701359d8500c86 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkTau/share/TAUP3.py
@@ -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)