diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py
index 647162cb244a5cb5a0bb73f649790fcf701fe9db..65fa642c93ab6f51e9659c73f5e6002759e813b3 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkCore/python/DerivationFrameworkProdFlags.py
@@ -992,6 +992,20 @@ class WriteDAOD_STDM14Stream (JobProperty):
 jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_STDM14Stream)
 listAODtoDPD.append(WriteDAOD_STDM14Stream.StreamName)
 
+class WriteDAOD_STDM15Stream (JobProperty):
+    """AFP analysis yy->WW->lnujj"""
+    statusOn = True
+    allowedTypes = ['bool']
+    StoredValue = False
+    StreamName = 'StreamDAOD_STDM15'
+    FileName = ''
+    isVirtual = False
+    DPDMakerScript = "DerivationFrameworkSM/STDM15.py"
+    nChFilter = -2
+    pass
+jobproperties.DerivationFrameworkProdFlags.add_JobProperty(WriteDAOD_STDM15Stream)
+listAODtoDPD.append(WriteDAOD_STDM15Stream.StreamName)
+
 #################################
 # Defined by the Tau group
 #################################
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py
index 12bb00841f8a173913963734ae20d59034a8d557..0d12a02dc78964457d7d343d4ef74ab616c0f35c 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMCommonTruthTools.py
@@ -46,7 +46,7 @@ STDMElectronTool = DerivationFramework__TruthCollectionMaker(name
 ToolSvc += STDMElectronTool
 STDMAugmentationTools.append(STDMElectronTool)
 
-truthphotexpression = "(abs(TruthParticles.pdgId) == 22) && (TruthParticles.status ==1) && (TruthParticles.barcode < 200000)"
+truthphotexpression = "(abs(TruthParticles.pdgId) == 22) && (  ( (TruthParticles.status ==1) && (TruthParticles.barcode < 200000)) || (TruthParticles.barcode < 10010))"
 STDMPhotonTool = DerivationFramework__TruthCollectionMaker(name                 = "STDMPhotonTool",
                                                             NewCollectionName       = "STDMTruthPhotons",
                                                             ParticleSelectionString = truthphotexpression,
@@ -121,10 +121,11 @@ ToolSvc += STDMMuonDressingTool2
 STDMAugmentationTools.append(STDMMuonDressingTool2)
 
 
-#==============================================================================
-# CREATE THE COMMON AUGMENTATION KERNEL ALGORITHM
+#==============================================================================
+# CREATE THE COMMON AUGMENTATION KERNEL ALGORITHM
 #==============================================================================
 from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramework__CommonAugmentation
 DerivationFrameworkJob += CfgMgr.DerivationFramework__CommonAugmentation("STDMAugmentationKernel", AugmentationTools = STDMAugmentationTools)
 
 STDMphotonthinningexpr = "(STDMTruthPhotons.classifierParticleOrigin != 42) && !(STDMTruthPhotons.classifierParticleOrigin >= 23 && STDMTruthPhotons.classifierParticleOrigin <= 35)"
+
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py
index d0d06caffb22c145c9c62ce711ea6889fbab6dc0..d115bb7f9159533991782c82b95c4c7842b20575 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/python/STDMExtraContent.py
@@ -11,7 +11,7 @@ ExtraContentTaus=["TauJets.BDTEleScore.BDTJetScore.eta.jetLink.m.phi.pt.charge.i
 
 ExtraContentBtag=["BTagging_AntiKt4EMTopo.MV2cl100_discriminant"]
 
-ExtraContentVtx=["PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2"]
+ExtraContentVtx=["PrimaryVertices.x.y.z.covariance.trackWeights.vertexType.sumPt2.numberDoF.chiSquared"]
 
 ExtraContentTrk=["InDetTrackParticles.definingParametersCovMatrixVec.theta.z0.d0.qOverP"]
 
@@ -25,6 +25,9 @@ ExtraContentJets_STDM11=ExtraContentJets_EMTopo+ExtraContentJets_PFlow
 
 ExtraContentAll=ExtraContentElectrons+ExtraContentPhotons+ExtraContentMuons+ExtraContentTaus+ExtraContentBtag+ExtraContentVtx+ExtraContentTrk+ExtraContentJets
 
+ExtraContentBtag_STDM15=["BTagging_AntiKt4EMPFlowTopo.MV2cl100_discriminant"]
+ExtraContentAll_STDM15=ExtraContentElectrons+ExtraContentMuons+ExtraContentVtx+ExtraContentTrk+ExtraContentJets_PFlow+ExtraContentBtag_STDM15
+
 # These are only added if running on MC
 ExtraElectronsTruth=[".".join(["Electrons", 
     "truthOrigin", 
@@ -49,6 +52,8 @@ ExtraTausTruth=[]
 
 ExtraContentAllTruth=ExtraElectronsTruth+ExtraPhotonsTruth+ExtraMuonsTruth+ExtraTausTruth
 
+ExtraContentAllTruth_STDM15=ExtraElectronsTruth+ExtraMuonsTruth+ExtraTausTruth
+
 # Extra containers
 ExtraContainersElectron=["ForwardElectrons","ForwardElectronClusters"]
 
@@ -66,7 +71,17 @@ ExtraContainersTruth=["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4
                       "STDMTruthElectrons",
                       "STDMTruthPhotons",
                       "STDMTruthNeutrinos",
-                      "STDMTruthTaus"]
+                      "STDMTruthTaus"
+			]
+
+ExtraContainersTruth_STDM15=["TruthEvents", "TruthParticles", "TruthVertices", "AntiKt4TruthJets","AntiKt4TruthWZJets",
+                      "TruthMuons",
+                      "TruthElectrons",
+                      "TruthPhotons",
+                      "TruthNeutrinos",
+                      "STDMTruthMuons",
+                      "STDMTruthElectrons",
+                       ]
 
 ExtraDictionary={
     "STDMTruthMuons":"xAOD::TruthParticleContainer" ,
@@ -89,7 +104,6 @@ ExtraContainersTruthPhotons=["egammaTruthParticles"]
 
 ExtraContainersAll=ExtraContainersElectron+ExtraContainersJets+ExtraContainersOthers
 
-
 #Extra variables
 ExtraVariablesEventShape=[
     "TopoClusterIsoCentralEventShape.DensitySigma.Density.DensityArea",
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py
index 49030be22e80a806b7be8e8f260928da0f8d3a29..ca3f4af6ec80497dc58504185a3ff9fba264023d 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkSM/share/STDM15.py
@@ -24,6 +24,50 @@ if DerivationFrameworkHasTruth:
 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool
 
+#====================================================================
+# SET UP LARGE JET CREATION
+#====================================================================
+
+def addJetOutputs(slimhelper,contentlist,smartlist=[],vetolist=[]):
+    '''
+    copy from  DerivationFrameworkJetEtMiss.JetCommon, which only adds the jet to
+    all variables if the jet content is not already listed in the ExtraVariables
+    '''
+    outputlist = []
+    from AthenaCommon import Logging
+    dfjetlog = Logging.logging.getLogger('JetCommon')
+
+    from DerivationFrameworkJetEtMiss.JetCommon import OutputJets
+    for content in contentlist:
+        if content in OutputJets.keys():
+            for item in OutputJets[content]:
+                if item in vetolist: continue
+                outputlist.append(item)
+        else:
+            outputlist.append(content)
+
+    for item in outputlist:
+        if not slimhelper.AppendToDictionary.has_key(item):
+            slimhelper.AppendToDictionary[item]='xAOD::JetContainer'
+            slimhelper.AppendToDictionary[item+"Aux"]='xAOD::JetAuxContainer'
+        if item in smartlist:
+            dfjetlog.info( "Add smart jet collection "+item )
+            slimhelper.SmartCollections.append(item)
+        else :
+            head=item + '.'
+            add_item=True
+            for var in slimhelper.ExtraVariables :
+                if len(var) > len(head) :
+                    if var[0:len(head)] == head :
+                        dfjetlog.info( "Add specialised content for jet collection "+item )
+                        add_item=False
+                        break
+            if add_item :
+                dfjetlog.info( "Add full jet collection "+item )
+                slimhelper.AllVariables.append(item)
+
+
+
 #====================================================================
 # SET UP STREAM
 #====================================================================
@@ -58,18 +102,13 @@ STDM15ThinningHelper.AppendToStream( STDM15Stream )
 #=====================  
 
 # removed for full tracking info...
-PHYS_thinning_expression = "abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 5*mm"
+PHYS_thinning_expression = "abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 0.5*mm"
 
 from DerivationFrameworkInDet.DerivationFrameworkInDetConf import DerivationFramework__TrackParticleThinning
 STDM15TPThinningTool = DerivationFramework__TrackParticleThinning(name                    =  "STDM15TPThinningTool",
                                                                   ThinningService = STDM15ThinningHelper.ThinningSvc(),
-                                                                  SelectionString         = PHYS_thinning_expression, #"InDetTrackParticles.pt > 0.1*GeV && InDetTrackParticles.eta > -2.5 && InDetTrackParticles.eta < 2.5 " #&& abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) <= 5.0", # && (abs(DFCommonInDetTrackZ0AtPV-EventInfo.STDM15_PVz))<3.0",
+                                                                  SelectionString         = PHYS_thinning_expression, 
                                                                   InDetTrackParticlesKey  =  "InDetTrackParticles")
-#ToolSvc += STDM15TPThinningTool
-#thinningTools.append(STDM15TPThinningTool)
-
-#print "anastopoulos"
-#print EventInfo.STDM15_PVz
 
 # Truth leptons and their ancestors and descendants + final-state hadrons
 truth_cond_boson = "((abs(TruthParticles.pdgId) == 22) || (abs(TruthParticles.pdgId) == 23) || (abs(TruthParticles.pdgId) == 24) || (abs(TruthParticles.pdgId) == 25) || (abs(TruthParticles.pdgId) == 35) || (abs(TruthParticles.pdgId) == 36))"
@@ -78,6 +117,7 @@ truth_cond_lepton = "((abs(TruthParticles.pdgId) >= 11) && (abs(TruthParticles.p
 truth_cond_hadrons = "( (TruthParticles.status ==1) && (TruthParticles.barcode<200000) && (abs(TruthParticles.pdgId) == 2212))"
 
 
+
 from DerivationFrameworkMCTruth.DerivationFrameworkMCTruthConf import DerivationFramework__GenericTruthThinning
 
 if globalflags.DataSource()=='geant4':
@@ -114,125 +154,46 @@ if globalflags.DataSource()=='geant4':
 
     ToolSvc += STDM15TruthLepTool
     ToolSvc += STDM15TruthBosTool
-#    ToolSvc += STDM15PhotonThinning
     ToolSvc += STDM15TruthHadTool
     thinningTools.append(STDM15TruthLepTool)
     thinningTools.append(STDM15TruthBosTool)
-#    thinningTools.append(STDM15PhotonThinning)
     thinningTools.append(STDM15TruthHadTool)
     
 #====================================================================
 # SKIMMING TOOL 
 #====================================================================
 
-filterVal = derivationFlags.WriteDAOD_STDM15Stream.nChFilter
-#print "kristin " + str(filterVal)
-
 muonsRequirements = '(Muons.pt >= 22*GeV) && (abs(Muons.eta) < 2.6) && (Muons.DFCommonMuonsPreselection) && (Muons.DFCommonGoodMuon)'
 electronsRequirements = '(Electrons.pt > 22*GeV) && (abs(Electrons.eta) < 2.6) && (Electrons.DFCommonElectronsLHMedium)'
-chargedParticleRequirements = '(TruthParticles.pt > 500) && (TruthParticles.barcode < 200000) && (TruthParticles.status == 1) && (TruthParticles.charge != 0) && (TruthParticles.theta > 0.163803) && (TruthParticles.theta < 2.97779) && (TruthParticles.HSBool)' #the theta cuts correspond to |eta|<2.5.  Often, theta = 0 or pi, so using eta directly causes and Floating Point Exception
+chargedParticleRequirements = 'true' 
 muonOnlySelection = 'count('+muonsRequirements+') >=1'
 electronOnlySelection = 'count('+electronsRequirements+') >= 1'
 electronMuonSelection = '(count('+electronsRequirements+') + count('+muonsRequirements+')) < 3'
-jetRequirements = '((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) >= 2)) && ((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) <5)) '
-
-trackRequirements = 'count( (abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 5*mm)) <100 ' 
+jetRequirements = '((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) && (count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) ||   count( (AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.pt > 150.0*GeV) && (abs(AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets.eta) < 2.6) ) > 0 ) '
 
-#jetRequirements = '(((((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) >= 2) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) >= 2)) && ((count (AntiKt4EMPFlowJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMPFlowJets.DFCommonJets_Calib_eta) < 2.6) <5) || (count (AntiKt4EMTopoJets.DFCommonJets_Calib_pt > 15*GeV && abs(AntiKt4EMTopoJets.DFCommonJets_Calib_eta) < 2.6) <5)) ) ||( count(AntiKt10LCTopoJets.pt > 150*GeV && abs(AntiKt10LCTopoJets.eta) < 2.8)>0) ) '
+trackRequirements = 'count( (abs(DFCommonInDetTrackZ0AtPV)*sin(InDetTrackParticles.theta) < 0.5*mm)) <140 ' 
 
-
-if filterVal > -1 and globalflags.DataSource()=='geant4':
-    chargedParticleSelection = 'count('+chargedParticleRequirements+') < '+str(filterVal)
-    offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+chargedParticleSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))'
-else:
-    offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))'
+offlineexpression = '(('+muonOnlySelection+' || '+electronOnlySelection+' || '+electronMuonSelection+') && ('+jetRequirements+') && ('+trackRequirements+'))'
 
 MuonTriggerRequirement=['HLT_mu20_iloose_L1MU15', 'HLT_mu24_imedium', 'HLT_mu26_ivarmedium', 'HLT_mu24_iloose']
 
 from RecExConfig.InputFilePeeker import inputFileSummary
 triggerRequirement=STDMTriggers.single_e_triggers  + STDMTriggers.single_mu_triggers
-#MuonTriggerRequirement
 
-#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__TriggerSkimmingTool
 STDM15SkimmingTool_Trig = DerivationFramework__TriggerSkimmingTool( name = "STDM15SkimmingTool_Trig", TriggerListOR = triggerRequirement )
 ToolSvc += STDM15SkimmingTool_Trig
 
-#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__xAODStringSkimmingTool
 STDM15SkimmingTool_offsel = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_offsel", expression = offlineexpression )
 ToolSvc += STDM15SkimmingTool_offsel
 
-#from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND
-#STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel] )
-#ToolSvc+=STDM15SkimmingTool
-
-#STDM15SkimmingTool_ntrk = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_ntrk", expression = "EventInfoAuxDyn.STDM15_nTracks<20" )
-#ToolSvc += STDM15SkimmingTool_ntrk
-
-#====================================================================
-# count tracks around vertex window
-#====================================================================
-#nTrkVertexWindowTool = CfgMgr.DerivationFramework__TrackVtxWindowCounting( name = "STDM15TrackVtxWindowCounting",
-#                                                                   OutputLevel    = DEBUG,
-#                                                                   DecorationPrefix      = "STDM15_",
-#                                                                   TrackContainerName = "InDetTrackParticles",
-#								   WindowSize        = 1.0)
-#ToolSvc += nTrkVertexWindowTool
-
-
-#STDM15SkimmingTool_ntrk = DerivationFramework__xAODStringSkimmingTool( name = "STDM15SkimmingTool_ntrk", expression = "EventInfo.STDM15_nTracks<100" )
-#ToolSvc += STDM15SkimmingTool_ntrk
-
-
-
 from DerivationFrameworkTools.DerivationFrameworkToolsConf import DerivationFramework__FilterCombinationAND
 
-#STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel,STDM15SkimmingTool_ntrk] )
 STDM15SkimmingTool=DerivationFramework__FilterCombinationAND(name="STDM15SkimmingTool", FilterList=[STDM15SkimmingTool_Trig,STDM15SkimmingTool_offsel] )
 ToolSvc+=STDM15SkimmingTool
 
 ToolSvc += STDM15TPThinningTool
 thinningTools.append(STDM15TPThinningTool)
 
-
-#ToolSvc += CfgMgr.GoodRunsListSelectionTool("STDM15GRLTool",GoodRunsListVec=['DerivationFrameworkSM/data/Lowmu.grl.xml'])
-#ToolSvc += CfgMgr.GoodRunsListSelectionTool("STDM15GRLTool",GoodRunsListVec=['DerivationFrameworkSM/data/Highmu.grl.xml'])
-
-#====================================================================
-# AUGMENTATION TOOLS
-#====================================================================
-#augmentationTools = []
-#augmentationTools.append( nTrkVertexWindowTool )
-
-
-#====================================================================
-# count tracks around vertex window
-#====================================================================
-
-
-
-#====================================================================
-# Track-to-Lepton vertex fitting
-#====================================================================
-#ExtraVariablesLeptonVertexFit = ''
-#if af.fileinfos["eventdata_items"].__contains__(('xAOD::TrackParticleContainer', "LowPtRoITrackParticles")) :
-#    import MagFieldServices.SetupField
-#    vtxTool = CfgMgr.TrkToLeptonPVTool("STDM15TrkToLeptonPVTool",OutputLevel=INFO)
-#    ToolSvc += vtxTool
-    
-    # the augmentation tool
-#    fittingTool = CfgMgr.DerivationFramework__LeptonVertexFitting( name = "STDM15LeptonVertexFitting",
-                                                                   #OutputLevel    = DEBUG,
-#                                                                   ElectronContainerName = "Electrons",
-#                                                                   MuonContainerName     = "Muons",
-#                                                                   TrackContainerName    = "LowPtRoITrackParticles",
-#                                                                   DecorationPrefix      = "STDM15_",
-#                                                                   VtxFittingTool        = vtxTool)
-#    ToolSvc += fittingTool
-#    augmentationTools.append( fittingTool )
-#
-#    ExtraVariablesLeptonVertexFit += "LowPtRoITrackParticles.STDM15_LepTrkVtx_z.STDM15_LepTrkVtx_chi2.STDM15_LepTrkVtx_ndf"
-
-
 #=====================================================
 # CREATE AND SCHEDULE THE DERIVATION KERNEL ALGORITHM   
 #=====================================================
@@ -242,52 +203,47 @@ from DerivationFrameworkCore.DerivationFrameworkCoreConf import DerivationFramew
 # CREATE THE PRIVATE SEQUENCE
 STDM15Sequence = CfgMgr.AthSequencer("STDM15Sequence")
 
-# ADD KERNEL
-STDM15Sequence += CfgMgr.DerivationFramework__DerivationKernel("STDM15Kernel",
-                                                              RunSkimmingFirst = False,
-                                                           #   AugmentationTools = augmentationTools,
-                                                              SkimmingTools = [STDM15SkimmingTool],
-                                                              ThinningTools = thinningTools)
-
-#                                                              AugmentationTools = augmentationTools)
-
-
 # JET REBUILDING
-OutputJets["STDM15"] = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets","AntiKt10TruthTrimmedPtFrac5SmallR20Jets"]
+OutputJets["STDM15"] = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"]
+largeRJetCollections = ["AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets"]
+
 
-reducedJetList = ["AntiKt4TruthJets","AntiKt10TruthTrimmedPtFrac5SmallR20Jets","AntiKt2PV0TrackJets","AntiKt4PV0TrackJets"]
+reducedJetList = ["AntiKt4TruthJets","AntiKt2PV0TrackJets","AntiKt4PV0TrackJets"]
 
 if DerivationFrameworkHasTruth:
 
    OutputJets["STDM15"].append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets")
 
+   reducedJetList.append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets")
+   largeRJetCollections.append("AntiKt10TruthTrimmedPtFrac5SmallR20Jets")
+
    OutputJets["STDM15"].append("AntiKt10TruthSoftDropBeta100Zcut10Jets")
 
 
 replaceAODReducedJets(reducedJetList, STDM15Sequence, "STDM15Jets")
 
-add_largeR_truth_jets = DerivationFrameworkHasTruth #and not hasattr(STDM15Sequence,'jetalgAntiKt10TruthTrimmedPtFrac5SmallR20')
+add_largeR_truth_jets = DerivationFrameworkHasTruth 
 
 addDefaultTrimmedJets(STDM15Sequence,"STDM15Jets",dotruth=add_largeR_truth_jets)
 
+addVRJets(STDM15Sequence, largeRColls=largeRJetCollections, do_ghost=True)
+
+if DerivationFrameworkHasTruth:
+        for coll in largeRJetCollections:
+                alg = coll.replace('Jets', '')
+                addJetTruthLabel(jetalg=alg, sequence=STDM15Sequence, algname="JetTruthLabelingAlg", labelname="R10TruthLabel_R21Consolidated")
+
+
+# ADD KERNEL
+STDM15Sequence += CfgMgr.DerivationFramework__DerivationKernel("STDM15Kernel",
+                                                              RunSkimmingFirst = False,
+                                                              SkimmingTools = [STDM15SkimmingTool],
+                                                              ThinningTools = thinningTools)
+
+
 # ADD SEQUENCE TO JOB
 DerivationFrameworkJob += STDM15Sequence
 
-#====================================================================
-# SET UP STREAM   
-#====================================================================
-#streamName = derivationFlags.WriteDAOD_STDM15Stream.StreamName
-#fileName   = buildFileName( derivationFlags.WriteDAOD_STDM15Stream )
-#STDM15Stream = MSMgr.NewPoolRootStream( streamName, fileName )
-#STDM15Stream.AcceptAlgs(["STDM15Kernel"])
-
-# Special lines for thinning
-# Thinning service name must match the one passed to the thinning tools
-# from AthenaServices.Configurables import ThinningSvc, createThinningSvc
-# augStream = MSMgr.GetStream( streamName )
-# evtStream = augStream.GetEventStream()
-# svcMgr += createThinningSvc( svcName="STDM15ThinningSvc", outStreams=[evtStream] )
-
 #====================================================================
 # Jet reconstruction/retagging
 #====================================================================
@@ -315,37 +271,29 @@ STDM15SlimmingHelper.SmartCollections = ["Electrons",
                                         "Muons",
                                         "AntiKt10LCTopoTrimmedPtFrac5SmallR20Jets",
 					"AntiKt10TruthTrimmedPtFrac5SmallR20Jets",
-#                                        "MET_Reference_AntiKt4EMTopo", #
-#                                        "AntiKt4EMTopoJets", #
                                         "MET_Reference_AntiKt4EMPFlow",
-                                        #"AntiKt10LCTopoJets",
+                                        "AntiKt4EMTopoJets",
+                                        "BTagging_AntiKt4EMTopo_201810",
+                                        "AntiKt4EMTopoJets_BTagging201810",
                                         "AntiKt4EMPFlowJets",
-#                                        "BTagging_AntiKt4EMPFlow_201810",
                                         "BTagging_AntiKt4EMPFlow_201903",
-#                                        "AntiKt4EMPFlowJets_BTagging201810", 
                                         "AntiKt4EMPFlowJets_BTagging201903",
                                         "InDetTrackParticles",
-#                                        "LowPtRoITrackParticles",
-#                                        "LowPtRoIVertexContainer",
                                         "PrimaryVertices"]
 
 STDM15SlimmingHelper.IncludeEGammaTriggerContent = True
 STDM15SlimmingHelper.IncludeMuonTriggerContent = True
 
-
-#STDM15SlimmingHelper.ExtraVariables = ExtraContentAll
-STDM15SlimmingHelper.ExtraVariables = ExtraContentSTDM15
-STDM15SlimmingHelper.ExtraVariables += ["AntiKt4EMTopoJets.JetEMScaleMomentum_pt.JetEMScaleMomentum_eta.JetEMScaleMomentum_phi.JetEMScaleMomentum_m"]
+STDM15SlimmingHelper.ExtraVariables = ExtraContentAll_STDM15
 STDM15SlimmingHelper.ExtraVariables += ["AntiKt4EMPFlowJets.OriginVertex"]
-#STDM15SlimmingHelper.ExtraVariables += [ExtraVariablesLeptonVertexFit]
 
 # btagging variables
 from  DerivationFrameworkFlavourTag.BTaggingContent import *
-#STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMTopoJets")
+STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMTopoJets")
 STDM15SlimmingHelper.ExtraVariables += BTaggingStandardContent("AntiKt4EMPFlowJets")
 
-#ExtraDictionary["BTagging_AntiKt4EMTopo"]     = "xAOD::BTaggingContainer"
-#ExtraDictionary["BTagging_AntiKt4EMTopoAux"]  = "xAOD::BTaggingAuxContainer"
+ExtraDictionary["BTagging_AntiKt4EMTopo"]     = "xAOD::BTaggingContainer"
+ExtraDictionary["BTagging_AntiKt4EMTopoAux"]  = "xAOD::BTaggingAuxContainer"
 ExtraDictionary["BTagging_AntiKt4EMPFlow"]    = "xAOD::BTaggingContainer"
 ExtraDictionary["BTagging_AntiKt4EMPFlowAux"] = "xAOD::BTaggingAuxContainer"
 
@@ -354,7 +302,6 @@ STDM15SlimmingHelper.AllVariables += ExtraContainersAll
 STDM15SlimmingHelper.AllVariables += ["Electrons"]
 
 if globalflags.DataSource()=='geant4':
-    STDM15SlimmingHelper.ExtraVariables += ExtraContentAllTruth_STDM15
     STDM15SlimmingHelper.AllVariables += ExtraContainersTruth_STDM15
     STDM15SlimmingHelper.AppendToDictionary.update(ExtraDictionary)