diff --git a/PhysicsAnalysis/PanTauAnalysis/CMakeLists.txt b/PhysicsAnalysis/PanTauAnalysis/CMakeLists.txt
deleted file mode 100644
index 83eb53458f01d69d505db5a69fe3a466ee511fb0..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-################################################################################
-# Package: PanTauAnalysis
-################################################################################
-
-# Declare the package name:
-atlas_subdir( PanTauAnalysis )
-
-# tag ROOTBasicLibs was not recognized in automatic conversion in cmt2cmake
-
-# tag ROOTMathLibs was not recognized in automatic conversion in cmt2cmake
-
-# tag ROOTSTLDictLibs was not recognized in automatic conversion in cmt2cmake
-
-# tag ROOTGraphicsLibs was not recognized in automatic conversion in cmt2cmake
-
-# tag ROOTTableLibs was not recognized in automatic conversion in cmt2cmake
-
-# Install files from the package:
-atlas_install_python_modules( python/*.py )
-atlas_install_joboptions( share/*.py )
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/Class_FeatureHandler.py b/PhysicsAnalysis/PanTauAnalysis/python/Class_FeatureHandler.py
deleted file mode 100644
index 7d5d139231e191ffde50d85f299c1177243fe6f1..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/Class_FeatureHandler.py
+++ /dev/null
@@ -1,690 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-from __future__ import print_function
-
-import string
-
-class FeatureHandler:
-    
-    def getFeatureNames(self):
-        listFeatNames = []
-        for iFeature in self.m_Feature_Names:
-            listFeatNames += [self.m_Feature_Names[iFeature]]
-        return listFeatNames
-    #end getFeatureNames
-    
-    def getFeatureTypes(self):
-        listFeatTypes = []
-        for iFeature in self.m_Feature_Types:
-            listFeatTypes += [self.m_Feature_Types[iFeature]]
-        return listFeatTypes
-    #end getFeatureTypes
-    
-    def getFeatureDefaultValues(self):
-        listFeatDefaults = []
-        for iFeature in self.m_Feature_Defaults:
-            listFeatDefaults += [self.m_Feature_Defaults[iFeature]]
-        return listFeatDefaults
-    #end getFeatureDefaultValues
-    
-    def addToFeatures(self, theBaseName, theVarTypeName, theFeatureType, defaultValueOverride=0):
-        """ Add a single feature with given name, type and default value """
-        
-        #set feature name and default value
-        featureName     = theVarTypeName + "_" + theBaseName
-        defaultValue    = self.m_DefaultValues[theVarTypeName]
-        if defaultValueOverride != 0:
-            defaultValue    = defaultValueOverride
-        
-        #add to features
-        self.m_Feature_Names[featureName]    = featureName
-        self.m_Feature_Defaults[featureName] = defaultValue
-        self.m_Feature_Types[featureName]    = theFeatureType
-    #end addToFeatures
-    
-    def addToFeatures_FullName(self, completeFeatureName, theVarTypeName, theFeatureType, defaultValueOverride=0):
-        #set feature name and default value
-        featureName     = completeFeatureName
-        defaultValue    = self.m_DefaultValues[theVarTypeName]
-        if defaultValueOverride != 0:
-            defaultValue    = defaultValueOverride
-        
-        #add to features
-        self.m_Feature_Names[featureName]    = featureName
-        self.m_Feature_Defaults[featureName] = defaultValue
-        self.m_Feature_Types[featureName]    = theFeatureType
-    #end addToFeatures_FullName
-    
-    
-    def addToFeatures_AllTypes(self, theBaseName, theVarTypeName, theFeatureType, defaultValueOverride=0):
-        """ Add the feature described by theName, theType and theDefault for all known constituent types"""
-        
-        #set default value
-        defaultValue    = self.m_DefaultValues[theVarTypeName]
-        if defaultValueOverride != 0:
-            defaultValue = defaultValueOverride
-        
-        #fill feature for all types
-        for iConstType in self.m_ConstituentTypes:
-            featureName     = iConstType + "_" + theVarTypeName + "_" + theBaseName
-            
-            self.m_Feature_Names[featureName]    = featureName
-            self.m_Feature_Defaults[featureName] = defaultValue
-            self.m_Feature_Types[featureName]    = theFeatureType
-        #end loop over types
-    #end addToFeatures_AllTypes
-    
-    
-    def addToFeatures_AllTypes_AllEnergyVariants(self, theBaseName, theVarTypeName, theFeatureType, defaultValueOverride=0):
-        """ Add the feature described by theName, theType and theDefault for all known constituent types"""
-        for iEnergyType in self.m_EnergyVariantsList:
-            featureName     = theBaseName + iEnergyType
-            self.addToFeatures_AllTypes(featureName, theVarTypeName, theFeatureType, defaultValueOverride)
-        #end loop over energy types
-    #end addToFeatures_AllTypes
-    
-    def __init__(self):
-        
-        #setup the varType prefixes
-        # they are passed to the feature extractor later on - avoids errors due to typos
-        self.m_VarTypeName_Sum          = "Sum"
-        self.m_VarTypeName_Ratio        = "Ratio"
-        self.m_VarTypeName_EtInRing     = "EtInRing"
-        self.m_VarTypeName_Isolation    = "Isolation"
-        self.m_VarTypeName_Num          = "Num"
-        self.m_VarTypeName_Mean         = "Mean"
-        self.m_VarTypeName_StdDev       = "StdDev"
-        self.m_VarTypeName_HLV          = "HLV"
-        self.m_VarTypeName_Angle        = "Angle"
-        self.m_VarTypeName_DeltaR       = "DeltaR"
-        self.m_VarTypeName_JetMoment    = "JetMoment"
-        self.m_VarTypeName_Combined     = "Combined"
-        self.m_VarTypeName_JetShape     = "JetShape"
-        self.m_VarTypeName_ImpactParams = "ImpactParams"
-        self.m_VarTypeName_Basic        = "Basic"
-        self.m_VarTypeName_PID          = "PID"
-        self.m_VarTypeName_Shots        = "Shots"
-        
-        #setup the default values for the different variable types
-        self.m_DefaultValues = {}
-        self.m_DefaultValues[self.m_VarTypeName_Sum]          = -4000.0
-        self.m_DefaultValues[self.m_VarTypeName_Ratio]        = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_EtInRing]     = -1000.0
-        self.m_DefaultValues[self.m_VarTypeName_Isolation]    = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_Num]          = -5.0
-        self.m_DefaultValues[self.m_VarTypeName_Mean]         = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_StdDev]       = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_HLV]          = -4000.0
-        self.m_DefaultValues[self.m_VarTypeName_Angle]        = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_DeltaR]       = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_JetMoment]    = -0.2
-        self.m_DefaultValues[self.m_VarTypeName_Combined]     = -10.0
-        self.m_DefaultValues[self.m_VarTypeName_JetShape]     = -2.0
-        self.m_DefaultValues[self.m_VarTypeName_ImpactParams] = -100.
-        self.m_DefaultValues[self.m_VarTypeName_Basic]        = -5.0
-        self.m_DefaultValues[self.m_VarTypeName_PID]          = -9.0
-        self.m_DefaultValues[self.m_VarTypeName_Shots]        = -2.0
-        
-        #setup the constituent types
-        self.m_ConstituentTypeName_All      = "All"
-        self.m_ConstituentTypeName_Charged  = "Charged"
-        self.m_ConstituentTypeName_Neutral  = "Neutral"
-        self.m_ConstituentTypeName_Pi0Neut  = "Pi0Neut"
-        self.m_ConstituentTypeName_OutNeut  = "OuterNeut"
-        self.m_ConstituentTypeName_OutChrg  = "OuterChrg"
-        self.m_ConstituentTypeName_NeutLowA = "NeutLowA"
-        self.m_ConstituentTypeName_NeutLowB = "NeutLowB"
-        
-        self.m_ConstituentTypes = []
-        #baseline
-        self.m_ConstituentTypes += [self.m_ConstituentTypeName_Charged]
-        self.m_ConstituentTypes += [self.m_ConstituentTypeName_Neutral]
-        self.m_ConstituentTypes += [self.m_ConstituentTypeName_Pi0Neut]
-        #for testing
-        self.m_ConstituentTypes += [self.m_ConstituentTypeName_NeutLowA]
-        self.m_ConstituentTypes += [self.m_ConstituentTypeName_NeutLowB]
-        
-        self.m_EnergyVariantsList = []
-        self.m_EnergyVariantsList += ["EtAllConsts"]
-        self.m_EnergyVariantsList += ["EtNeutLowA"]
-        self.m_EnergyVariantsList += ["EtNeutLowB"]
-        # ==============================================
-        
-        
-        #setup member variables to hold feature info
-        self.m_Feature_Names      = {}
-        self.m_Feature_Defaults   = {}
-        self.m_Feature_Types      = {}
-        
-        #fill member variables
-        self.addSingleVariables()
-        self.addMultiplicities()
-        self.addFourMomentum()
-        self.addTypeSpecificFeatures_Num()
-        self.addTypeSpecificFeatures_PID()
-        self.addTypeSpecificFeatures_Shots()
-        self.addTypeSpecificFeatures_Ratios()
-        #self.addTypeSpecificFeatures_EtRings()     #Note wrt EtRings and Isolations:
-        #self.addTypeSpecificFeatures_Isolations()  #     Move to different function in FeatureCalc
-        self.addTypeSpecificFeatures_Mean()
-        self.addTypeSpecificFeatures_StdDevs()
-        self.addTypeSpecificFeatures_HLV()
-        self.addTypeSpecificFeatures_Angle()
-        self.addTypeSpecificFeatures_DeltaR()
-        self.addTypeSpecificFeatures_JetMoment()
-        self.addCombinedFeatures_Single()
-        self.addCombinedFeatures_TypeVsType()
-        self.addCombinedFeatures_SelectedTypes()
-        self.addGenericJetFeatures()
-        self.addImpactParameterFeatures()
-        
-    #end init
-    
-    
-    def dump(self):
-        print("config_FeatureCalculator: Dumping features:")
-        for iFeature in sorted(self.m_Feature_Names.keys()):
-            featName    = self.m_Feature_Names[iFeature]
-            featType    = self.m_Feature_Types[iFeature]
-            featDefault = self.m_Feature_Defaults[iFeature]
-            print("\t" + string.ljust(featName, 50) + " of type " + featType + " defaults to " + string.rjust(str(featDefault), 10) )
-            #print("\t" + featName + " of type " + featType + " defaults to " + str(featDefault) )
-        #end for over features
-        print("config_FeatureCalculator: Done dumping features")
-    #end dump
-    
-    
-    def addSingleVariables(self):
-        Variables = []
-        Variables += ["isPanTauCandidate"]
-        Variables += ["RecoMode"]
-        Variables += ["RecoMode_PanTau"]
-        Variables += ["BDTValue_1p0n_vs_1p1n"]
-        Variables += ["BDTValue_1p1n_vs_1pXn"]
-        Variables += ["BDTValue_3p0n_vs_3pXn"]
-        Variables += ["SumCharge"]
-        Variables += ["AbsCharge"]
-        for iVar in Variables:
-            curDefVal = self.m_DefaultValues[self.m_VarTypeName_Basic]
-            if iVar == "isPanTauCandidate":
-                curDefVal = 0
-            if iVar == "RecoMode" or iVar == "RecoMode_PanTau":
-                curDefVal = -10
-            self.addToFeatures(iVar, self.m_VarTypeName_Basic, "F", curDefVal)
-        #end loop over variables
-    #end def addSingleVariables
-    
-    
-    def addMultiplicities(self):
-        Variables = self.m_ConstituentTypes
-        
-        for iVar in Variables:
-            featName = "N" + iVar + "Consts"
-            self.addToFeatures(featName, self.m_VarTypeName_Basic, "F")
-        #end loop over variables
-        
-        #add the inclusive one
-        self.addToFeatures("N" + self.m_ConstituentTypeName_All     + "Consts", self.m_VarTypeName_Basic, "F")
-        self.addToFeatures("N" + self.m_ConstituentTypeName_OutChrg + "Consts", self.m_VarTypeName_Basic, "F")
-        self.addToFeatures("N" + self.m_ConstituentTypeName_OutNeut + "Consts", self.m_VarTypeName_Basic, "F")
-        
-    #end def addMultiplicities
-    
-    
-    def addFourMomentum(self):
-        Variables = []
-        Variables += ["pt"]
-        Variables += ["eta"]
-        Variables += ["phi"]
-        Variables += ["m"]
-        
-        Types = []
-        Types += ["ProtoMomentumCore"]
-        Types += ["ProtoMomentumWide"]
-        #Types += ["ValMomCore2GeV"]
-        
-        
-        for iVar in Variables:
-            for iType in Types:
-                curFeatName = iType + "_" + iVar
-                curDefVal   = -4000.
-                if iVar == "eta" or iVar == "phi":
-                    curDefVal = -9.
-                if iVar == "m":
-                    curDefVal = -200.
-                self.addToFeatures(curFeatName, self.m_VarTypeName_Basic, "F", curDefVal)
-            #end loop types
-        #end loop vars 
-    #end def addFourMomentum
-    
-    
-    def addTypeSpecificFeatures_Num(self):
-        Variables = []
-        Variables += ["ConstsIn00To01"]
-        Variables += ["ConstsIn01To02"]
-        Variables += ["ConstsIn02To03"]
-        Variables += ["ConstsIn03To04"]
-        for iVar in Variables:
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_Num, "F")
-    #end addTypeSpecificFeatures
-    
-    
-    def addTypeSpecificFeatures_PID(self):
-        Variables = []
-        Variables += ["BDTValues"]
-        Variables += ["BDTValuesSum"]
-        
-        Sorts = []
-        Sorts += ["BDTSort"]
-        Sorts += ["EtSort"]
-        
-        MaxNum = 4
-        
-        for iVar in Variables:
-            for iSort in Sorts:
-                for iNum in range(1, MaxNum):
-                    featName = iVar + "_" + iSort + "_" + str(iNum)
-                    self.addToFeatures_AllTypes(featName, self.m_VarTypeName_PID, "F")
-                #end loop over num
-            #end loop over sort
-        #end loop over variables
-    #end addTypeSpecificFeatures
-    
-    
-    def addTypeSpecificFeatures_Shots(self):
-        Variables = []
-        Variables += ["nPhotons"]
-        Variables += ["nShots"]
-        Variables += ["SumShots_Et"]
-        Variables += ["SumShots_Eta"]
-        Variables += ["SumShots_Phi"]
-        Variables += ["SumShots_M"]
-        Variables += ["ConstDeltaRToSumShots"]
-        Variables += ["EtSumShotsOverConstEt"]
-        Variables += ["TauDeltaRToSumShots"]
-        Variables += ["EtSumShotsOverTauEt"]
-        
-        Sorts = []
-        Sorts += ["BDTSort"]
-        
-        MaxNum = 4
-        
-        for iVar in Variables:
-            for iSort in Sorts:
-                for iNum in range(1, MaxNum):
-                    featName = iVar + "_" + iSort + "_" + str(iNum)
-                    curDefVal = self.m_DefaultValues[self.m_VarTypeName_Shots]
-                    if iVar == "Et":
-                        curDefVal = -1000
-                    if iVar == "Eta" or iVar == "Phi":
-                        curDefVal = -8
-                    if iVar == "M":
-                        curDefVal = -200
-                    
-                    self.addToFeatures_FullName(self.m_ConstituentTypeName_Neutral + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-                    self.addToFeatures_FullName(self.m_ConstituentTypeName_Pi0Neut + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-                    self.addToFeatures_FullName(self.m_ConstituentTypeName_NeutLowA + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-                    self.addToFeatures_FullName(self.m_ConstituentTypeName_NeutLowB + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-                #end loop over iNum
-            #end loop over sorts
-        #end loop over variables
-        
-        Variables = []
-        Variables += ["MaxDeltaRSumShotToConst"]
-        Variables += ["MinDeltaRSumShotToConst"]
-        Variables += ["MaxDeltaRSumShotToTau"]
-        Variables += ["MinDeltaRSumShotToTau"]
-        Variables += ["DeltaRAllShotsToTau"]
-        Variables += ["EtAllShotsOverEtTau"]
-        Variables += ["NShotsInSeed"]
-        Variables += ["NPhotonsInSeed"]
-        Variables += ["BestDiShotMass"]
-        Variables += ["MinDiShotMass"]
-        Variables += ["MaxDiShotMass"]
-        for iVar in Variables:
-            featName = iVar
-            curDefVal = self.m_DefaultValues[self.m_VarTypeName_Shots]
-            if iVar == "BestDiShotMass" or iVar == "MinDiShotMass" or iVar == "MaxDiShotMass":
-                curDefVal = -200
-            
-            self.addToFeatures_FullName(self.m_ConstituentTypeName_Neutral + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-            self.addToFeatures_FullName(self.m_ConstituentTypeName_Pi0Neut + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-            self.addToFeatures_FullName(self.m_ConstituentTypeName_NeutLowA + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-            self.addToFeatures_FullName(self.m_ConstituentTypeName_NeutLowB + "_" + self.m_VarTypeName_Shots + "_" + featName, self.m_VarTypeName_Shots, "F", curDefVal)
-            
-        #end loop over variables
-    #end addTypeSpecificFeatures_Shots
-    
-    def addTypeSpecificFeatures_Ratios(self):
-        
-        Variables_WithEnergyTypes = []
-        Variables_WithEnergyTypes += ["EtOver"]
-        Variables_WithEnergyTypes += ["1stEtOver"]
-        Variables_WithEnergyTypes += ["1stBDTEtOver"]
-        for iVar in Variables_WithEnergyTypes:
-            self.addToFeatures_AllTypes_AllEnergyVariants(iVar, self.m_VarTypeName_Ratio, "F")
-        #end loop over variables with energy types
-        
-        Variables = []
-        Variables += ["1stEtOverTypeEt"]
-        Variables += ["1stBDTEtOverTypeEt"]
-        Variables += ["EFOsOverTotalEFOs"]
-        Variables += ["Log1stEtOver2ndEt"]
-        Variables += ["Log1stEtOver3rdEt"]
-        Variables += ["Log2ndEtOver3rdEt"]
-        Variables += ["Log1stEtOver2ndEt_BDTSort"]
-        Variables += ["Log1stEtOver3rdEt_BDTSort"]
-        Variables += ["Log2ndEtOver3rdEt_BDTSort"]
-        for iVar in Variables:
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_Ratio, "F")
-        #end loop over variables with energy types
-    #end addTypeSpecificFeatures_Ratios
-    
-    
-    def addTypeSpecificFeatures_EtRings(self):
-        Variables = []
-        Variables += ["00To01"]
-        Variables += ["01To02"]
-        Variables += ["02To03"]
-        Variables += ["03To04"]
-        Variables += ["04To05"]
-        for iVar in Variables:
-            completeFeatureName = self.m_ConstituentTypeName_All + "_" + self.m_VarTypeName_EtInRing + "_" + iVar
-            self.addToFeatures_FullName(completeFeatureName, self.m_VarTypeName_EtInRing, "F")
-        #end loop over variables
-    #end addTypeSpecificFeatures_EtRings
-    
-    
-    def addTypeSpecificFeatures_Isolations(self):
-        Variables = []
-        Variables += ["EtIn01Over"]
-        Variables += ["EtIn02Over"]
-        Variables += ["EtIn03Over"]
-        Variables += ["EtIn04Over"]
-        Variables += ["EtIn00To02Over"]
-        Variables += ["EtIn02To04Over"]
-        
-        for iVar in Variables:
-            for iEnergyType in self.m_EnergyVariantsList:
-                completeFeatureName = self.m_ConstituentTypeName_All + "_" + self.m_VarTypeName_Isolation + "_" + iVar + iEnergyType
-                self.addToFeatures_FullName(completeFeatureName, self.m_VarTypeName_Isolation, "F")
-        #end loop over variables
-        
-        Variables = []
-        Variables += ["EtIn01OverEtIn02"]
-        Variables += ["EtIn01OverEtIn04"]
-        for iVar in Variables:
-            completeFeatureName = self.m_ConstituentTypeName_All + "_" + self.m_VarTypeName_Isolation + iVar
-            self.addToFeatures_FullName(completeFeatureName, self.m_VarTypeName_Isolation, "F")
-        #end loop over variables
-        
-    #end addTypeSpecificFeatures_Isolations
-    
-    
-    def addTypeSpecificFeatures_Mean(self):
-        Variables_WithEnergyTypes = []
-        Variables_WithEnergyTypes += ["Et_Wrt"]
-        Variables_WithEnergyTypes += ["DRToJetAxis_Wrt"]
-        Variables_WithEnergyTypes += ["DRToLeading_Wrt"]
-        for iVar in Variables_WithEnergyTypes:
-            self.addToFeatures_AllTypes_AllEnergyVariants(iVar, self.m_VarTypeName_Mean, "F")
-        #end loop over variables
-    #end addTypeSpecificFeatures_Mean
-    
-    
-    def addTypeSpecificFeatures_StdDevs(self):
-        Variables = []
-        Variables += ["E"]
-        Variables += ["Et"]
-        Variables += ["DRToJetAxis"]
-        Variables += ["DRToLeading"]
-        for iVar in Variables:
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_StdDev, "F")
-        #end loop over variables
-        
-        Variables_WithEnergyTypes = []
-        Variables_WithEnergyTypes += ["Et_Wrt"]
-        for iVar in Variables_WithEnergyTypes:
-            self.addToFeatures_AllTypes_AllEnergyVariants(iVar, self.m_VarTypeName_StdDev, "F")
-    #end addTypeSpecificFeatures_StdDevs
-    
-    
-    def addTypeSpecificFeatures_HLV(self):
-        Variables = []
-        Variables += ["SumPt"]
-        Variables += ["SumEta"]
-        Variables += ["SumPhi"]
-        Variables += ["SumM"]
-        for iVar in Variables:
-            curDefVal   = -4000.
-            if iVar == "SumEta" or iVar == "SumPhi":
-                curDefVal = -9.
-            if iVar == "SumM":
-                curDefVal = -200.
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_HLV, "F", curDefVal)
-            
-            # also add the OutChrg and OutNeut
-            featName = self.m_ConstituentTypeName_OutChrg + "_" + self.m_VarTypeName_HLV + "_" + iVar
-            self.addToFeatures_FullName(featName, self.m_VarTypeName_HLV, "F", curDefVal)
-            
-            featName = self.m_ConstituentTypeName_OutNeut + "_" + self.m_VarTypeName_HLV + "_" + iVar
-            self.addToFeatures_FullName(featName, self.m_VarTypeName_HLV, "F", curDefVal)
-            
-        #end loop over variables
-        
-        VariablesVec = []
-        VariablesVec += ["Constituents_pt"]
-        VariablesVec += ["Constituents_eta"]
-        VariablesVec += ["Constituents_phi"]
-        VariablesVec += ["Constituents_m"]
-        
-        VariablesVecSort = []
-        VariablesVecSort += ["EtSort"]
-        VariablesVecSort += ["BDTSort"]
-        
-        for iSort in VariablesVecSort:
-            for iVecVar in VariablesVec:
-                featName = iSort + "_" + iVecVar
-                curDefVal   = -4000.
-                if iVecVar == "Constituents_eta" or iVecVar == "Constituents_phi":
-                    curDefVal = -9.
-                if iVecVar == "Constituents_m":
-                    curDefVal = -200.
-                self.addToFeatures_AllTypes(featName, self.m_VarTypeName_HLV, "V", curDefVal)
-                
-                # also add the OutChrg and OutNeut
-                featName = self.m_ConstituentTypeName_OutChrg + "_" + self.m_VarTypeName_HLV + "_" + iSort + "_" + iVecVar
-                self.addToFeatures_FullName(featName, self.m_VarTypeName_HLV, "V", curDefVal)
-                
-                featName = self.m_ConstituentTypeName_OutNeut + "_" + self.m_VarTypeName_HLV + "_" + iSort + "_" + iVecVar
-                self.addToFeatures_FullName(featName, self.m_VarTypeName_HLV, "V", curDefVal)
-                
-        #end loop over variables
-    #end addTypeSpecificFeatures_HLV
-    
-    
-    def addTypeSpecificFeatures_Angle(self):
-        Variables = []
-        Variables += ["ToJetAxis"]
-        Variables += ["1stToJetAxis"]
-        Variables += ["2ndToJetAxis"]
-        Variables += ["3rdToJetAxis"]
-        Variables += ["1stTo2nd"]
-        Variables += ["1stTo3rd"]
-        Variables += ["2ndTo3rd"]
-        Variables += ["MaxToJetAxis"]
-        Variables += ["MeanValue123"]
-        Variables += ["Btw1213Planes"]
-        for iVar in Variables:
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_Angle, "F")
-        #end loop over variables
-    #end addTypeSpecificFeatures_Angle
-    
-    
-    def addTypeSpecificFeatures_DeltaR(self):
-        Variables = []
-        Variables += ["ToJetAxis"]
-        Variables += ["MaxToJetAxis"]
-        Variables += ["1stToJetAxis"]
-        Variables += ["2ndToJetAxis"]
-        Variables += ["3rdToJetAxis"]
-        Variables += ["1stTo2nd"]
-        Variables += ["1stTo3rd"]
-        Variables += ["2ndTo3rd"]
-        
-        Sorts = []
-        Sorts += ["EtSort"]
-        Sorts += ["BDTSort"]
-        
-        for iSort in Sorts:
-            for iVar in Variables:
-                featName = iVar + "_" + iSort
-                self.addToFeatures_AllTypes(featName, self.m_VarTypeName_DeltaR, "F")
-        #end loop over variables
-    #end addTypeSpecificFeatures_DeltaR
-    
-    
-    def addTypeSpecificFeatures_JetMoment(self):
-        Variables = []
-        Variables += ["EtDR"]
-        Variables += ["EtDRprime"]
-        Variables += ["EtDR2"]
-        Variables += ["EtAngle"]
-        Variables += ["EtDRxTotalEt"]
-        for iVar in Variables:
-            self.addToFeatures_AllTypes(iVar, self.m_VarTypeName_JetMoment, "F")
-        #end loop over variables
-    #end addTypeSpecificFeatures_JetMoment
-    
-    
-    def addCombinedFeatures_Single(self):
-        Variables = []
-        Variables += ["NumChargedOverNumNeutral"]
-        Variables += ["NumChargedOverNumTotal"]
-        Variables += ["AnglePlane1stCharged1st2ndNeutral"]
-        Variables += ["FarthestNeutral_AngleToCharged"]
-        Variables += ["FarthestNeutral_BDTScore"]
-        Variables += ["FarthestNeutral_EtOverChargedEt"]
-        
-        for iVar in Variables:
-            self.addToFeatures(iVar, self.m_VarTypeName_Combined, "F")
-        #end loop over variables
-    #end addCombinedFeatures_Single
-    
-    
-    def addCombinedFeatures_TypeVsType(self):
-        Types = []
-        Types += ["Charged"]
-        Types += ["Neutral"]
-        Types += ["Pi0Neut"]
-        
-        Variables = []
-        Variables += [ ["Log1st", "EtOver", "Et"] ]
-        Variables += [ ["Log", "EtOver", "Et"] ]
-        Variables += [ ["Angle", "To", ""] ]
-        Variables += [ ["DeltaR1st", "To1st", ""] ]
-        Variables += [ ["Angle1st", "To1st", ""] ]
-        for iType in Types:
-            for jType in Types:
-                
-                #skip if types are equal
-                if iType == jType:
-                    continue
-                
-                for iVar in Variables:
-                    featName = iVar[0] + iType + iVar[1] + jType + iVar[2]
-                    #if iVar[2] != "-":
-                        #featName = featName + iVar[2]
-                    self.addToFeatures(featName, self.m_VarTypeName_Combined, "F")
-                #end loop over variables
-            #end loop over jType
-        #end loop over iType
-    #end addCombinedFeatures_TypeVsType
-    
-    
-    def addCombinedFeatures_SelectedTypes(self):
-        iTypes = []
-        iTypes += ["Charged"]
-        
-        jTypes = []
-        jTypes += ["Pi0Neut"]
-        jTypes += ["Neutral"]
-        
-        Variables_WithEnergyTypes = []
-        Variables_WithEnergyTypes += [ ["Mean", "Et_Wrt"] ]
-        
-        Variables = []
-        Variables += [ ["InvMass", ""] ]
-        Variables += [ ["Angle1st2nd", ""] ]
-        for iType in iTypes:
-            for jType in jTypes:
-                
-                for iVar in Variables:
-                    featName = iVar[0] + iType + jType + iVar[1]
-                    self.addToFeatures(featName, self.m_VarTypeName_Combined, "F")
-                #end loop over variables
-                
-                for iVar in Variables_WithEnergyTypes:
-                    featName = iVar[0] + iType + jType + iVar[1]
-                    for iEnergyType in self.m_EnergyVariantsList:
-                        featNameWithEnergy = featName + iEnergyType
-                        self.addToFeatures(featNameWithEnergy, self.m_VarTypeName_Combined, "F")
-                #end loop over variables for energy types
-                
-            #end loop over jTypes
-        #end loop over iTypes
-    #end addCombinedFeatures_SelectedTypes
-    
-    
-    def addGenericJetFeatures(self):
-        Variables = []
-        
-        #thrust and such
-        Variables += ["JetThrust"]
-        Variables += ["JetThrustMajor"]
-        Variables += ["JetThrustMinor"]
-        Variables += ["JetOblateness"]
-        Variables += ["JetSphericity"]
-        Variables += ["JetAplanarity"]
-        Variables += ["JetPlanarity"]
-        
-        #fox wolfram moments
-        Variables += ["JetFoxWolfram1"]
-        Variables += ["JetFoxWolfram1"]
-        Variables += ["JetFoxWolfram1"]
-        Variables += ["JetFoxWolfram1"]
-        Variables += ["JetFoxWolframRatioFW2OverFW1"]
-        Variables += ["JetFoxWolframRatioFW4pow4OverFW1"]
-        Variables += ["JetFoxWolframRatioFW234OverFW1pow4"]
-        Variables += ["JetFoxWolframRatioFW1PlusFW2OverFW4"]
-        
-        for iVar in Variables:
-            self.addToFeatures(iVar, self.m_VarTypeName_JetShape, "F")
-        #end loop over variables
-    #end addGenericJetFeatures
-    
-    
-    def addImpactParameterFeatures(self):
-        maxTrack = 4
-        
-        Variables = []
-        Variables += [ ["TransIPTrack", "_SortByEt"] ]
-        Variables += [ ["LongIPTrack", "_SortByEt"] ]
-        Variables += [ ["TransSignfIPTrack", "_SortByEt"] ]
-        Variables += [ ["LongSignfIPTrack", "_SortByEt"] ]
-        Variables += [ ["TransIP", "_SortByValue"] ]
-        Variables += [ ["TransSignfIP", "_SortByValue"] ]
-        
-        for iTrk in range(1, maxTrack):
-            for iVar in Variables:
-                featName = iVar[0] + str(iTrk) + iVar[1]
-                self.addToFeatures(featName, self.m_VarTypeName_ImpactParams, "F")
-            #end loop over variables
-        #end loop over tracks
-    #end addGenericJetFeatures
-    
-    
-#end class config_FeatureCalculator
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/Class_InformationHandler.py b/PhysicsAnalysis/PanTauAnalysis/python/Class_InformationHandler.py
deleted file mode 100644
index 64ec8f763d81d3b3618666d029e91bd080588c40..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/Class_InformationHandler.py
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-
-import string
-
-
-
-
-class InformationHandler:
-    
-    def __init__(self):
-        
-        #setup the member variables
-        # they are filled in the helper functions setupInfo_*
-        self.m_Infos_Int        = {}
-        self.m_Infos_Double     = {}
-        self.m_Infos_String     = {}
-        self.m_Infos_VecDouble  = {}
-        self.m_Infos_VecString  = {}
-        
-        #fill member variables
-        self.setupInfo_Int()
-        self.setupInfo_Double()
-        self.setupInfo_String()
-        self.setupInfo_VecDouble()
-        self.setupInfo_VecString()
-        
-        #fill the feature types and default values
-        # -> a bit more involved, have extra function for this
-        self.setupInfo_Features()
-    #end init
-    
-    
-    def dump(self):
-        print("PanTau::InformationHandler: Printing stored information")
-        
-        print("PanTau::InformationHandler: \tIntegers:")
-        for iInfo in sorted(self.m_Infos_Int.keys()):
-            print("\t\t" + string.ljust(iInfo, 50) + ": " + string.rjust(str(self.m_Infos_Int[iInfo]), 10) )
-
-        print("PanTau::InformationHandler: \tDoubles:")
-        for iInfo in sorted(self.m_Infos_Double.keys()):
-            print("\t\t" + string.ljust(iInfo, 50) + ": " + string.rjust(str(self.m_Infos_Double[iInfo]), 10) )
-
-        print("PanTau::InformationHandler: \tStrings:")
-        for iInfo in sorted(self.m_Infos_String.keys()):
-            print("\t\t" + string.ljust(iInfo, 50) + ": " + string.ljust(self.m_Infos_String[iInfo], 80) )
-
-        print("PanTau::InformationHandler: \tVecDoubles:")
-        for iInfo in sorted(self.m_Infos_VecDouble.keys()):
-            print("InformationHandler: \t\t" + string.ljust(iInfo, 50) + ":")
-            for iVal in self.m_Infos_VecDouble[iInfo]:
-                print("InformationHandler: \t\t\t" + string.rjust(str(iVal), 10) )
-
-        print("PanTau::InformationHandler: \tVecStrings:")
-        for iInfo in sorted(self.m_Infos_VecString.keys()):
-            print("InformationHandler: \t\t" + string.ljust(iInfo, 50) + ":")
-            for iVal in self.m_Infos_VecString[iInfo]:
-                print("InformationHandler: \t\t\t" + string.ljust(str(iVal), 80) )
-
-        print("PanTau::InformationHandler: Done printing stored information")
-    #end dump
-    
-    
-    def setupInfo_Int(self):
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        self.m_Infos_Int["EnableXAODMigrationHacks"]        = int(config_PanTau.EnableXAODMigrationHacks())
-        self.m_Infos_Int["TauConstituents_UsePionMass"]     = int(config_PanTau.TauConstituents_UsePionMass())
-        self.m_Infos_Int["FeatureExtractor_UseEmptySeeds"]  = int(config_PanTau.FeatureExtractor_UseEmptySeeds())
-        self.m_Infos_Int["TauConstituents_eflowRec_UseMomentumAsEnergy"]  = int(config_PanTau.TauConstituents_eflowRec_UseMomentumAsEnergy())
-        self.m_Infos_Int["TauConstituents_UseShrinkingCone"]              = int(config_PanTau.TauConstituents_UseShrinkingCone())
-        #nothing to do here yet (no integer infos...)
-    #end def setupInfo_Int
-    
-    
-    def setupInfo_Double(self):
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        
-        self.m_Infos_Double["eflowRec_Assoc_DeltaR"]                            = config_PanTau.eflowRec_Assoc_DeltaR()
-        self.m_Infos_Double["TauConstituents_Types_DeltaRCore"]                 = config_PanTau.TauConstituents_Types_DeltaRCore()
-        self.m_Infos_Double["TauConstituents_MaxEta"]                           = config_PanTau.TauConstituents_MaxEta()
-        self.m_Infos_Double["TauConstituents_PreselectionMinEnergy"]            = config_PanTau.TauConstituents_PreselectionMinEnergy()
-        self.m_Infos_Double["TauConstituents_eflowRec_BDTThreshold_Pi0Neut"]    = config_PanTau.TauConstituents_eflowRec_BDTThreshold_Pi0Neut()
-        
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R10X_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R10X_CellBased()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R11X_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R11X_CellBased()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R110_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R110_CellBased()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R1XX_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R1XX_CellBased()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R30X_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R30X_CellBased()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R3XX_CellBased"] = config_PanTau.DecayModeDeterminator_BDTCutValue_R3XX_CellBased()
-
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R10X_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R10X_eflowRec()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R11X_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R11X_eflowRec()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R110_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R110_eflowRec()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R1XX_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R1XX_eflowRec()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R30X_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R30X_eflowRec()
-        self.m_Infos_Double["DecayModeDeterminator_BDTCutValue_R3XX_eflowRec"]  = config_PanTau.DecayModeDeterminator_BDTCutValue_R3XX_eflowRec()
-        
-        
-        #self.m_Infos_Double[""] = config_PanTau.()
-    
-    #end def setupInfo_Double
-    
-    
-    def setupInfo_String(self):
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        self.m_Infos_String["Name_TauRecContainer"]             = config_PanTau.Name_TauRecContainer()
-        self.m_Infos_String["Name_eflowRecContainer"]           = config_PanTau.Name_eflowRecContainer()
-        self.m_Infos_String["Name_TrackParticleContainer"]      = config_PanTau.Name_TrackParticleContainer()
-        self.m_Infos_String["Name_PanTauSeedsContainer"]        = config_PanTau.Name_PanTauSeedsContainer()
-        self.m_Infos_String["Name_PanTauDetailsContainer"]      = config_PanTau.Name_PanTauDetailsContainer()
-        self.m_Infos_String["ModeDiscriminator_ReaderOption"]   = config_PanTau.ModeDiscriminator_ReaderOption()
-        self.m_Infos_String["ModeDiscriminator_TMVAMethod"]     = config_PanTau.ModeDiscriminator_TMVAMethod()
-        #self.m_Infos_Double[""]        = config_PanTau.()
-
-    #end def setupInfo_String
-    
-    
-    def setupInfo_VecDouble(self):
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        self.m_Infos_VecDouble["TauConstituents_BinEdges_Eta"]                       = config_PanTau.TauConstituents_BinEdges_Eta()
-        self.m_Infos_VecDouble["TauConstituents_Selection_Neutral_EtaBinned_EtCut"]  = config_PanTau.TauConstituents_Selection_Neutral_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut"]  = config_PanTau.TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_Charged_EtaBinned_EtCut"]  = config_PanTau.TauConstituents_Selection_Charged_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_OutNeut_EtaBinned_EtCut"]  = config_PanTau.TauConstituents_Selection_OutNeut_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_OutChrg_EtaBinned_EtCut"]  = config_PanTau.TauConstituents_Selection_OutChrg_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_NeutLowA_EtaBinned_EtCut"] = config_PanTau.TauConstituents_Selection_NeutLowA_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["TauConstituents_Selection_NeutLowB_EtaBinned_EtCut"] = config_PanTau.TauConstituents_Selection_NeutLowB_EtaBinned_EtCut()
-        self.m_Infos_VecDouble["eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_1prong"]  = config_PanTau.eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_1prong()
-        self.m_Infos_VecDouble["eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_3prong"]  = config_PanTau.eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_3prong()
-        self.m_Infos_VecDouble["CellBased_BinEdges_Eta"]                             = config_PanTau.CellBased_BinEdges_Eta()
-        self.m_Infos_VecDouble["CellBased_EtaBinned_Pi0MVACut_1prong"]               = config_PanTau.CellBased_EtaBinned_Pi0MVACut_1prong()
-        self.m_Infos_VecDouble["CellBased_EtaBinned_Pi0MVACut_3prong"]               = config_PanTau.CellBased_EtaBinned_Pi0MVACut_3prong()
-        self.m_Infos_VecDouble["eflowRec_BinEdges_Eta"]                              = config_PanTau.eflowRec_BinEdges_Eta()
-        self.m_Infos_VecDouble["eflowRec_EtaBinned_Pi0MVACut_1prong"]                = config_PanTau.eflowRec_EtaBinned_Pi0MVACut_1prong()
-        self.m_Infos_VecDouble["eflowRec_EtaBinned_Pi0MVACut_3prong"]                = config_PanTau.eflowRec_EtaBinned_Pi0MVACut_3prong()
-        self.m_Infos_VecDouble["ModeDiscriminator_BinEdges_Pt"]                      = config_PanTau.ModeDiscriminator_BinEdges_Pt()
-        #self.m_Infos_VecDouble[""] = config_PanTau.()
-
-    #end def setupInfo_VecDouble
-    
-        
-    def setupInfo_VecString(self):
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_eflowRec_1p0n_vs_1p1n"] = config_PanTau.ModeDiscriminator_BDTVariableNames_eflowRec_1p0n_vs_1p1n()
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_eflowRec_1p1n_vs_1pXn"] = config_PanTau.ModeDiscriminator_BDTVariableNames_eflowRec_1p1n_vs_1pXn()
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_eflowRec_3p0n_vs_3pXn"] = config_PanTau.ModeDiscriminator_BDTVariableNames_eflowRec_3p0n_vs_3pXn()
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_CellBased_1p0n_vs_1p1n"] = config_PanTau.ModeDiscriminator_BDTVariableNames_CellBased_1p0n_vs_1p1n()
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_CellBased_1p1n_vs_1pXn"] = config_PanTau.ModeDiscriminator_BDTVariableNames_CellBased_1p1n_vs_1pXn()
-        self.m_Infos_VecString["ModeDiscriminator_BDTVariableNames_CellBased_3p0n_vs_3pXn"] = config_PanTau.ModeDiscriminator_BDTVariableNames_CellBased_3p0n_vs_3pXn()
-        #self.m_Infos_VecString[""] = config_PanTau.()
-
-    #end def setupInfo_VecString
-    
-    
-    def setupInfo_Features(self):
-        
-        #get list of algorithms and signal modes from config
-        from PanTauAnalysis.Config_PanTau import config_PanTau
-        List_InputAlgs      = config_PanTau.Names_InputAlgorithms()
-        List_ModeCases      = config_PanTau.Names_ModeCases()
-        
-        #get the feature handler
-        from PanTauAnalysis.Class_FeatureHandler import FeatureHandler
-        theFeatureHandler = FeatureHandler()
-        
-        #for each algorithm and mode, loop over variables to be used in BDT
-        # and fetch the type of the variable and the name
-        # these are needed for the PanTauFillerTool in TauD3PDMaker
-        for iAlg in List_InputAlgs:
-            for iModeCase in List_ModeCases:
-                
-                infoKey_Names = "ModeDiscriminator_BDTVariableNames_" + iAlg + "_" + iModeCase
-                curVarList = self.m_Infos_VecString[infoKey_Names]
-                
-                BDTVariable_TypeList        = []
-                BDTVariable_DefaultValList  = []
-                
-                for iVar in curVarList:
-                    theType     = theFeatureHandler.m_Feature_Types[iVar]
-                    theDefVal   = theFeatureHandler.m_Feature_Defaults[iVar]
-                    BDTVariable_TypeList        += [theType]
-                    BDTVariable_DefaultValList  += [theDefVal]
-                #end loop over variables
-                
-                infoKey_Types       = "ModeDiscriminator_BDTVariableTypes_" + iAlg + "_" + iModeCase
-                self.m_Infos_VecString[infoKey_Types] = BDTVariable_TypeList
-                
-                infoKey_Defaults    = "ModeDiscriminator_BDTVariableDefaults_" + iAlg + "_" + iModeCase
-                self.m_Infos_VecDouble[infoKey_Defaults] = BDTVariable_DefaultValList
-                
-            #end loop over signal modes
-        #end loop over algs for default value creation for ModeDiscriminator tools
-        
-        #add the prefixes for the variables
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Sum"]         = theFeatureHandler.m_VarTypeName_Sum
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Ratio"]       = theFeatureHandler.m_VarTypeName_Ratio
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_EtInRing"]    = theFeatureHandler.m_VarTypeName_EtInRing
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Isolation"]   = theFeatureHandler.m_VarTypeName_Isolation
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Num"]         = theFeatureHandler.m_VarTypeName_Num
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Mean"]        = theFeatureHandler.m_VarTypeName_Mean
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_StdDev"]      = theFeatureHandler.m_VarTypeName_StdDev
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_HLV"]         = theFeatureHandler.m_VarTypeName_HLV
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Angle"]       = theFeatureHandler.m_VarTypeName_Angle
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_DeltaR"]      = theFeatureHandler.m_VarTypeName_DeltaR
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_JetMoment"]   = theFeatureHandler.m_VarTypeName_JetMoment
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Combined"]    = theFeatureHandler.m_VarTypeName_Combined
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_JetShape"]    = theFeatureHandler.m_VarTypeName_JetShape
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_ImpactParams"]= theFeatureHandler.m_VarTypeName_ImpactParams
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Basic"]       = theFeatureHandler.m_VarTypeName_Basic
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_PID"]         = theFeatureHandler.m_VarTypeName_PID
-        self.m_Infos_String["FeatureExtractor_VarTypeName_varTypeName_Shots"]       = theFeatureHandler.m_VarTypeName_Shots
-    #end def setupInfo_Features
-    
-#end class config_FeatureCalculator
-
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/Config_PanTau.py b/PhysicsAnalysis/PanTauAnalysis/python/Config_PanTau.py
deleted file mode 100644
index 027168d07565c50c699f76aa51b93ffb4c9b9f85..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/Config_PanTau.py
+++ /dev/null
@@ -1,560 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/JobOptionFlags_PanTau.py
-## @purpose Python module to hold common flags to configure PanTau
-##
-
-""" PanTauFlags
-    Python module to hold flags to configure PanTau.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.JobOptionFlags_PanTau import panTauFlags
-
-"""
-
-__author__ = "C.Limbach"
-__version__= "$Revision:  $"
-__doc__    = "Config_PanTau"
-
-__all__    = [ "Config_PanTau" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-import AthenaCommon.SystemOfUnits as Units
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-
-
-### ==========================================================
-###
-###          Flags to steer job options
-###
-### ==========================================================
-
-### /////////////////////////
-### Boolean values
-### /////////////////////////
-
-class UseDefaultCellBasedConfig(JobProperty):
-    """ If this is true, the configuration for pi0s will be copied from cellbased"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-
-class EnableXAODMigrationHacks(JobProperty):
-    """ IMPORTANT NOTE: This needs to be set to false once the xAOD EDM works fine """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class TauConstituents_UsePionMass(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-
-class FeatureExtractor_UseEmptySeeds(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-
-class TauConstituents_eflowRec_UseMomentumAsEnergy(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class TauConstituents_UseShrinkingCone(JobProperty):
-    """ """
-    statusOn = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-
-
-### /////////////////////////
-### Float values
-### /////////////////////////
-
-class eflowRec_Assoc_DeltaR(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.4
-
-class TauConstituents_Types_DeltaRCore(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.2
-
-
-class TauConstituents_MaxEta(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 9.9
-
-
-class TauConstituents_PreselectionMinEnergy(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 500.
-
-
-class TauConstituents_eflowRec_BDTThreshold_Pi0Neut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.04
-
-
-
-#
-# PanTau BDT Cut values --- CellBased
-#
-
-class DecayModeDeterminator_BDTCutValue_R10X_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  0.19
-
-class DecayModeDeterminator_BDTCutValue_R11X_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  -0.11
-
-class DecayModeDeterminator_BDTCutValue_R110_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  0.37
-
-class DecayModeDeterminator_BDTCutValue_R1XX_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  0.07
-
-class DecayModeDeterminator_BDTCutValue_R30X_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  -0.01
-
-class DecayModeDeterminator_BDTCutValue_R3XX_CellBased(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  =  -0.03
-
-#
-# PanTau BDT Cut values --- eflowRec
-#
-
-class DecayModeDeterminator_BDTCutValue_R10X_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.15
-
-class DecayModeDeterminator_BDTCutValue_R11X_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.60
-
-class DecayModeDeterminator_BDTCutValue_R110_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.08
-
-class DecayModeDeterminator_BDTCutValue_R1XX_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.03
-
-class DecayModeDeterminator_BDTCutValue_R30X_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.25
-
-class DecayModeDeterminator_BDTCutValue_R3XX_eflowRec(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.23
-
-
-
-### /////////////////////////
-### String values
-### /////////////////////////
-
-class Name_TauRecContainer(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "TauJets"
-
-
-class Name_eflowRecContainer(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "eflowObjects_tauMode"
-
-
-class Name_TrackParticleContainer(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "TrackParticleCandidate"
-
-
-class Name_PanTauSeedsContainer(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "PanTau_OutputSeeds"
-
-
-class Name_PanTauDetailsContainer(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "PanTau_SeedDetails"
-
-
-class ModeDiscriminator_ReaderOption(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "!Color:Silent"
-
-
-class ModeDiscriminator_TMVAMethod(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "BDTG"
-
-
-
-### /////////////////////////
-### vector<float> values
-### /////////////////////////
-
-
-#
-# Eta Binned    E T   C U T S
-#
-
-class TauConstituents_BinEdges_Eta(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [0.000, 0.800, 1.400, 1.500, 1.900, 9.900]
-
-
-class TauConstituents_Selection_Neutral_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 2.1*Units.GeV, 2.5*Units.GeV, 2.6*Units.GeV, 2.4*Units.GeV, 1.9*Units.GeV  ]
-
-
-class TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 2.1*Units.GeV, 2.5*Units.GeV, 2.6*Units.GeV, 2.4*Units.GeV, 1.9*Units.GeV  ]
-
-
-class TauConstituents_Selection_Charged_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV  ]
-
-
-class TauConstituents_Selection_OutNeut_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV  ]
-
-
-class TauConstituents_Selection_OutChrg_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV, 1.0*Units.GeV  ]
-
-# Temporary test neutral type with lower Et cut (-250 MeV)
-class TauConstituents_Selection_NeutLowA_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.85*Units.GeV, 2.25*Units.GeV, 2.35*Units.GeV, 2.15*Units.GeV, 1.65*Units.GeV  ]
-
-# Temporary test neutral type with lower Et cut (-500 MeV)
-class TauConstituents_Selection_NeutLowB_EtaBinned_EtCut(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.6*Units.GeV, 2.0*Units.GeV, 2.1*Units.GeV, 1.9*Units.GeV, 1.4*Units.GeV  ]
-
-
-
-class eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_1prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 2.5*Units.GeV, 2.5*Units.GeV, 1.9*Units.GeV, 2.5*Units.GeV, 2.3*Units.GeV  ]
-
-class eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_3prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 2.5*Units.GeV, 2.5*Units.GeV, 2.5*Units.GeV, 2.5*Units.GeV, 2.5*Units.GeV  ]
-
-#
-# Eta Binned    P I 0 - B D T   C U T S
-#
-
-class CellBased_BinEdges_Eta(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [0.000, 0.800, 1.400, 1.500, 1.900, 9.900]
-
-
-class CellBased_EtaBinned_Pi0MVACut_1prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [  0.46, 0.39, 0.51, 0.47, 0.54  ]
-
-
-class CellBased_EtaBinned_Pi0MVACut_3prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [  0.47, 0.52, 0.60, 0.55, 0.50  ]
-
-
-
-class eflowRec_BinEdges_Eta(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [0.000, 0.800, 1.400, 1.500, 1.900, 9.900]
-
-
-class eflowRec_EtaBinned_Pi0MVACut_1prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [  0.09, 0.09, 0.09, 0.08, 0.05  ]
-
-
-class eflowRec_EtaBinned_Pi0MVACut_3prong(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [  0.09, 0.09, 0.09, 0.09, 0.07  ]
-
-
-#
-# P T   B I N S
-#
-
-class ModeDiscriminator_BinEdges_Pt(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [10*Units.GeV, 100000*Units.GeV]
-
-
-
-### /////////////////////////
-### vector<string> values
-### /////////////////////////
-
-class Names_InputAlgorithms(JobProperty):
-    """ Valid names are: CellBased and eflowRec """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["CellBased"]
-
-
-class Names_ModeCases(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["1p0n_vs_1p1n",
-                    "1p1n_vs_1pXn",
-                    "3p0n_vs_3pXn"]
-
-
-### ---> eflowRec BDT variables
-class ModeDiscriminator_BDTVariableNames_eflowRec_1p0n_vs_1p1n(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Charged_Ratio_EtOverEtAllConsts",
-                    "Basic_NPi0NeutConsts",
-                    "Neutral_PID_BDTValues_EtSort_1",
-                    "Combined_DeltaR1stNeutralTo1stCharged"]
-
-class ModeDiscriminator_BDTVariableNames_eflowRec_1p1n_vs_1pXn(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Neutral_PID_BDTValues_BDTSort_2",
-                    "Neutral_Ratio_EtOverEtAllConsts",
-                    "Basic_NNeutralConsts",
-                    "Neutral_HLV_SumM"]
-
-class ModeDiscriminator_BDTVariableNames_eflowRec_3p0n_vs_3pXn(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Basic_NPi0NeutConsts",
-                    "Neutral_PID_BDTValues_BDTSort_1",
-                    "Charged_HLV_SumPt",
-                    "Charged_Ratio_EtOverEtAllConsts",
-                    "Neutral_Mean_DRToLeading_WrtEtAllConsts"]
-
-
-### ---> CellBased BDT variables
-class ModeDiscriminator_BDTVariableNames_CellBased_1p0n_vs_1p1n(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Neutral_PID_BDTValues_BDTSort_1",
-                    "Neutral_Ratio_1stBDTEtOverEtAllConsts",
-                    "Combined_DeltaR1stNeutralTo1stCharged",
-                    "Charged_JetMoment_EtDRxTotalEt",
-                    "Neutral_Shots_NPhotonsInSeed"]
-
-class ModeDiscriminator_BDTVariableNames_CellBased_1p1n_vs_1pXn(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Neutral_PID_BDTValues_BDTSort_2",
-                    "Neutral_HLV_SumM",
-                    "Neutral_Ratio_EtOverEtAllConsts",
-                    "Basic_NNeutralConsts",
-                    "Neutral_Shots_NPhotonsInSeed"]
-
-class ModeDiscriminator_BDTVariableNames_CellBased_3p0n_vs_3pXn(JobProperty):
-    """  """
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ["Neutral_Ratio_EtOverEtAllConsts",
-                    "Neutral_PID_BDTValues_BDTSort_1",
-                    "Charged_StdDev_Et_WrtEtAllConsts",
-                    "Neutral_Shots_NPhotonsInSeed",
-                    "Charged_HLV_SumM"]
-
-
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTau flag container
-class Config_PanTau(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(Config_PanTau)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.Config_PanTau.add_JobProperty(UseDefaultCellBasedConfig)
-jobproperties.Config_PanTau.add_JobProperty(EnableXAODMigrationHacks)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_UsePionMass)
-jobproperties.Config_PanTau.add_JobProperty(FeatureExtractor_UseEmptySeeds)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_PreselectionMinEnergy)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_eflowRec_UseMomentumAsEnergy)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_UseShrinkingCone)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_Assoc_DeltaR)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Types_DeltaRCore)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_MaxEta)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_eflowRec_BDTThreshold_Pi0Neut)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R10X_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R11X_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R110_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R1XX_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R30X_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R3XX_CellBased)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R10X_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R11X_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R110_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R1XX_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R30X_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(DecayModeDeterminator_BDTCutValue_R3XX_eflowRec)
-jobproperties.Config_PanTau.add_JobProperty(Name_TauRecContainer)
-jobproperties.Config_PanTau.add_JobProperty(Name_eflowRecContainer)
-jobproperties.Config_PanTau.add_JobProperty(Name_TrackParticleContainer)
-jobproperties.Config_PanTau.add_JobProperty(Name_PanTauSeedsContainer)
-jobproperties.Config_PanTau.add_JobProperty(Name_PanTauDetailsContainer)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_ReaderOption)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_TMVAMethod)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_BinEdges_Eta)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_Neutral_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_Charged_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_OutNeut_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_OutChrg_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_NeutLowA_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(TauConstituents_Selection_NeutLowB_EtaBinned_EtCut)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_1prong)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_Selection_Pi0Neut_EtaBinned_EtCut_3prong)
-jobproperties.Config_PanTau.add_JobProperty(CellBased_BinEdges_Eta)
-jobproperties.Config_PanTau.add_JobProperty(CellBased_EtaBinned_Pi0MVACut_1prong)
-jobproperties.Config_PanTau.add_JobProperty(CellBased_EtaBinned_Pi0MVACut_3prong)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_BinEdges_Eta)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_EtaBinned_Pi0MVACut_1prong)
-jobproperties.Config_PanTau.add_JobProperty(eflowRec_EtaBinned_Pi0MVACut_3prong)
-jobproperties.Config_PanTau.add_JobProperty(Names_InputAlgorithms)
-jobproperties.Config_PanTau.add_JobProperty(Names_ModeCases)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BinEdges_Pt)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_eflowRec_1p0n_vs_1p1n)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_eflowRec_1p1n_vs_1pXn)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_eflowRec_3p0n_vs_3pXn)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_CellBased_1p0n_vs_1p1n)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_CellBased_1p1n_vs_1pXn)
-jobproperties.Config_PanTau.add_JobProperty(ModeDiscriminator_BDTVariableNames_CellBased_3p0n_vs_3pXn)
-
-
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauFlags import panTauFlags
-config_PanTau = jobproperties.Config_PanTau
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauDPDFlags.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauDPDFlags.py
deleted file mode 100644
index fa6c3ac3e59649461d0d42d01fc6003ec6b9a2e9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauDPDFlags.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/PanTauDPDFlags.py
-## @brief Python module to hold common flags to configure PanTau DPD writing
-##
-
-""" PanTauDPDFlags
-    Python module to hold flags to configure PanTau DPD writing.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-
-"""
-
-__author__ = "S.Fleischmann"
-__version__= "$Revision: 630996 $"
-__doc__    = "PanTauDPDFlags"
-
-__all__    = [ "panTauDPDFlags" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-class WritePanTauPerfD3PD(JobProperty):
-    """ Flag to switch on/off PanTauPerf writing """
-    statusON     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class PanTauPerfD3PDName(JobProperty):
-    """ Name of pantau D3PD if it is created """
-    statusON     = True
-    allowedTypes = ['str']
-    StoredValue  = 'PanTauPerf'
-
-class PanTauPerfD3PDSize(JobProperty):
-    """ type of pantau D3PD if it is created (small / medium)"""
-    statusON     = True
-    allowedTypes = ['str']
-    StoredValue  = 'small'
-
-
-class GoodRunsListVec(JobProperty):
-    """Event Selection: List of good runs list files"""
-    statusON     = True
-    allowedType  = ['list']
-    StoredValue  = [ "MyLBCollection.xml" ]
-
-class GoodRunsListArray(JobProperty):
-    """Event Selection: List of good runs list to use"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = ['MyLBCollection']
-
-class UseGRL(JobProperty):
-    """Event Selection: Use GRL in event selection?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class TriggerSelectionExpression(JobProperty):
-    """Event Selection: Expression of trigger items to use in event selection"""
-    statusON     = True
-    allowedTypes = ['str']
-    StoredValue  = 'L1_J5'
-
-class FilterEvents(JobProperty):
-    """Event Selection: Do event selection in PanTau perf DPD making?"""
-    statusON     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class EventSelTauSGKey(JobProperty):
-    """Event Selection: Key of tau SG container"""
-    statusON     = True
-    allowedTypes = ['str']
-    StoredValue  = 'TauJets'
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTauDPD flag container
-class PanTauDPDFlags(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(PanTauDPDFlags)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.PanTauDPDFlags.add_JobProperty(GoodRunsListVec)
-jobproperties.PanTauDPDFlags.add_JobProperty(GoodRunsListArray)
-jobproperties.PanTauDPDFlags.add_JobProperty(UseGRL)
-jobproperties.PanTauDPDFlags.add_JobProperty(TriggerSelectionExpression)
-jobproperties.PanTauDPDFlags.add_JobProperty(FilterEvents)
-jobproperties.PanTauDPDFlags.add_JobProperty(EventSelTauSGKey)
-jobproperties.PanTauDPDFlags.add_JobProperty(WritePanTauPerfD3PD)
-
-
-# Helper to create a boolean property.
-def _boolean_prop (name, val):
-    prop = type (name, (JobProperty,), {})
-    prop.statusOn = True
-    prop.allowedTypes = ['bool']
-    prop.StoredValue = val
-    jobproperties.PanTauDPDFlags.add_JobProperty(prop)
-    return
-
-_boolean_prop ('UseTriggerSelection', True)
-_boolean_prop ('UseJetCleaning', True)
-_boolean_prop ('UsePrimaryVertexSelection', True)
-#_boolean_prop ('UseTauSelection', True)
-_boolean_prop ('UseDiTauSelection', True)
-
-def _sgkey_prop (name, val):
-    prop = type (name, (JobProperty,), {})
-    prop.statusOn = True
-    prop.allowedTypes = ['str']
-    prop.StoredValue = val
-    jobproperties.PanTauDPDFlags.add_JobProperty(prop)
-    return
-
-_sgkey_prop("PanTauPerfD3PDName", "PanTauPerf")
-_sgkey_prop("PanTauPerfD3PDSize", "tiny")
-_sgkey_prop("EventSelectionDecisionContainerName", "pantau_perf_SkimDecisionsContainer")
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-panTauDPDFlags = jobproperties.PanTauDPDFlags
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauFlags.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauFlags.py
deleted file mode 100644
index de3612ea3c178a26b0b5b3db94c98a683adc0052..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauFlags.py
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/PanTauFlags.py
-## @brief Python module to hold common flags to configure PanTau
-##
-
-""" PanTauFlags
-    Python module to hold flags to configure PanTau.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.PanTauFlags import panTauFlags
-
-"""
-
-__author__ = "S.Fleischmann"
-__version__= "$Revision: 537172 $"
-__doc__    = "PanTauFlags"
-
-__all__    = [ "panTauFlags" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-import AthenaCommon.SystemOfUnits as Units
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-
-
-### ==========================================================
-###
-###          Flags to steer job options
-###
-### ==========================================================
-
-class GetJetFeatures(JobProperty):
-    """Add the JetFeatureExtraction tool to the list of tools?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class GetImpactParameterFeatures(JobProperty):
-    """Add the ImpactParameterExtraction tool to the list of tools?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoTauJetBuilding(JobProperty):
-    """Add the TauJetBuilderAlg to the list of algorithms?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class doTruthEtIsolations(JobProperty):
-    """ Ask Sebastian for its meaning """
-    statusOn        = True
-    allowedTypes    = ['bool']
-    StoredValue     = False
-
-class ExtractAllFeatures(JobProperty):
-    """Flag to tell if ALL features should be extracted to D3PD. Is evaluated in tauPerfMedium and TauD3PDMaker"""
-    statusOn    = True
-    allowedType = ['bool']
-    StoredValue = False
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTau flag container
-class PanTauFlags(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(PanTauFlags)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.PanTauFlags.add_JobProperty(GetJetFeatures)
-jobproperties.PanTauFlags.add_JobProperty(GetImpactParameterFeatures)
-jobproperties.PanTauFlags.add_JobProperty(DoTauJetBuilding)
-jobproperties.PanTauFlags.add_JobProperty(doTruthEtIsolations)
-jobproperties.PanTauFlags.add_JobProperty(ExtractAllFeatures)
-
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags = jobproperties.PanTauFlags
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauJetBuilderAlg_Flags.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauJetBuilderAlg_Flags.py
deleted file mode 100644
index d10669e04461539d15b40e8fc93d46fb69e3d299..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauJetBuilderAlg_Flags.py
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/PanTauFlags.py
-## @purpose Python module to hold common flags to configure PanTau
-##
-
-""" PanTauFlags
-    Python module to hold flags to configure the PanTau::JetBuilderAlg and its DiscriminantTools.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.PanTauJetBuilderAlg_Flags import PanTauJetBuilderAlgFlags
-
-"""
-
-__author__ = "C.Limbach"
-__version__= "$Revision: 500031 $"
-__doc__    = "PanTauJetBuilderAlg_Flags"
-
-__all__    = [ "PanTauJetBuilderAlg_Flags" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-import AthenaCommon.SystemOfUnits as Units
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-
-
-### ==========================================================
-###
-###          Flags for MVA part in JetBuilderAlg
-###
-### ==========================================================
-
-
-class MVA_GeneralWeightFilePrefix(JobProperty):
-    """Jet Building: Prefix of TMVA weight files"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "TrainModes"
-#TrainModes_ET_15_30_1p0n_vs_1p1n1pXn3p0n3pXnFake_BDT
-
-
-class MVA_VersionName(JobProperty):
-    """Jet Building: Suffix of weight files (usefull to switch between different sets of weight files)"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = ""
-
-
-class MVA_PtBins(JobProperty):
-    """Jet Building: Pt bins for the MVA"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 15.* Units.GeV, 1000.* Units.GeV ]
-
-class MVA_Method(JobProperty):
-    """Jet Building: Name of the MVA method to be used"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "BDTBase"
-
-### ### Prefixes for the different classes to be used
-
-class MVA_ModeName1p0n(JobProperty):
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "1p0n"
-
-class MVA_ModeName1p1n(JobProperty):
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "1p1n"
-
-class MVA_ModeName1pXn(JobProperty):
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "1pXn"
-
-class MVA_ModeName3p0n(JobProperty):
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "3p0n"
-
-class MVA_ModeName3pXn(JobProperty):
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "3pXn"
-
-
-### ### List of variables to be used in the different classes
-
-class MVA_UsedFeatures1p0n(JobProperty):
-    """Jet Building: Feature Names in this class"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ "Eflow_QualChrg_Ratio_1stEtOverTypeEt", "Eflow_Pi0Neut_eflowPID_Pi0Val_1st_BDTSort", "Eflow_QualChrg_Ratio_EtOverEtQualEFOs", "Eflow_QualChrg_Mean_DRToLeading_WrtEtQualEFOs", "Eflow_QualChrg_StdDev_E_WrtEAll" ]
-
-class MVA_UsedFeatures1p1n(JobProperty):
-    """Jet Building: Feature Names in this class"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ "Eflow_Pi0Neut_eflowPID_Pi0Val_1st_BDTSort", "Eflow_QualChrg_Ratio_1stEtOverTypeEt", "Eflow_Pi0Neut_eflowPID_Pi0Val_2nd_BDTSort", "Basic_NQualChrgEFO", "Eflow_QualChrg_Mean_DRToLeading_WrtEtQualEFOs", "Eflow_QualChrg_Ratio_EtOverEtQualEFOs" ] # to be expanded
-
-class MVA_UsedFeatures1pXn(JobProperty):
-    """Jet Building: Feature Names in this class"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ "Eflow_QualChrg_Ratio_EtOverEtQualEFOs", "Eflow_Pi0Neut_eflowPID_Pi0Val_1st_BDTSort", "Eflow_QualChrg_Ratio_1stEtOverTypeEt", "Basic_NQualChrgEFO", "Eflow_Pi0Neut_eflowPID_Pi0Val_2nd_BDTSort" ]
-
-class MVA_UsedFeatures3p0n(JobProperty):
-    """Jet Building: Feature Names in this class"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ "Eflow_QualChrg_Mean_Et_WrtEtQualEFOs", "Eflow_QualChrg_Ratio_1stEtOverTypeEt", "Eflow_QualChrg_Ratio_EtOverEtQualEFOs", "Basic_NQualChrgEFO", "Eflow_QualChrg_Mean_DRToLeading_WrtEtQualEFOs", "Eflow_Pi0Neut_eflowPID_Pi0Val_1st_BDTSort", "Eflow_QualChrg_Ratio_1stEtOverEtAll" ]
-
-class MVA_UsedFeatures3pXn(JobProperty):
-    """Jet Building: Feature Names in this class"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ "Eflow_QualChrg_Ratio_1stEtOverTypeEt", "Eflow_QualChrg_Ratio_EtOverEtQualEFOs", "Basic_NQualChrgEFO", "Eflow_Pi0Neut_eflowPID_Pi0Val_1st_BDTSort", "Eflow_QualChrg_Mean_DRToLeading_WrtEtQualEFOs" ]
-
-
-
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTau flag container
-class PanTauJetBuilderAlg_Flags(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(PanTauJetBuilderAlg_Flags)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_GeneralWeightFilePrefix)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_PtBins)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_Method)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_VersionName)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_ModeName1p0n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_ModeName1p1n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_ModeName1pXn)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_ModeName3p0n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_ModeName3pXn)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_UsedFeatures1p0n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_UsedFeatures1p1n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_UsedFeatures1pXn)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_UsedFeatures3p0n)
-jobproperties.PanTauJetBuilderAlg_Flags.add_JobProperty(MVA_UsedFeatures3pXn)
-
-
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauJetBuilderAlg_Flags import PanTauJetBuilderAlgFlags
-PanTauJetBuilderAlgFlags = jobproperties.PanTauJetBuilderAlg_Flags
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg.py
deleted file mode 100644
index 69d50e1fbfa91700c3eefeb6ee4219673b08c184..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg.py
+++ /dev/null
@@ -1,265 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-# @file: PanTauAnalysis/python/PanTauSeedBuilderAlg.py
-# @purpose: hold a set of customized configurables and factory functions for the seed builder
-
-from __future__ import print_function
-
-__doc__    = "hold a set of customized configurables and factory functions for the seed builder"
-__author__ = "S.Fleischmann"
-__version__= "$Revision: 540821 $"
-
-from PanTauAlgs.PanTauAlgsConf import PanTau__TauSeedBuilderAlg
-class PanTauSeedBuilderAlg( PanTau__TauSeedBuilderAlg ):
-
-    __slots__ = { }
-
-    def __init__( self, name = "TauSeedBuildCone4",
-                  jetAlgName = "Cone4", **kwargs ):
-        # have to call base init
-        kwargs['name']                                  = name
-        kwargs['ContainerName_eflowJets']               = "eflowObjects_tauMode"
-        kwargs['ContainerName_PanTauGoodOutputSeeds']   = "TauSeedsEflow"+jetAlgName
-        kwargs['ContainerName_PanTauBadOutputSeeds']    = "TauRejectedSeedsEflow"+jetAlgName
-
-        super( PanTauSeedBuilderAlg, self ).__init__( **kwargs )
-
-        from PanTauAnalysis.PanTauFlags import panTauFlags
-        from RecExConfig.RecFlags import rec
-        
-        if panTauFlags.doTruthEtIsolations():
-            from AthenaCommon.AppMgr import ToolSvc
-            if not hasattr(ToolSvc, 'TruthIsolationTool'):
-                ToolSvc += CfgMgr.TruthIsolationTool()
-        
-        
-        ############################ 
-        ### Set up the configurables 
-        
-        from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-        
-        # Basic config
-        self.Config_DoTruth                     = rec.doTruth()
-        self.RunTimeHists_Enabled               = PSB_Flags.Config_DoRunTimeHists()
-        self.Config_UseTauRecAsSeeds            = PSB_Flags.Config_UseTauRecAsSeeds()
-        self.Config_EfoCollectionDeltaR         = PSB_Flags.Config_EfoCollectionDeltaR()
-        self.Config_DeltaRCoreRegion            = PSB_Flags.Config_DeltaRCoreRegion()
-        self.Config_DoTauRecVicinityCheck       = PSB_Flags.Config_DoTauRecVicinityCheck()
-        self.Config_DeltaRTauRecVicinityCheck   = PSB_Flags.Config_DeltaRTauRecVicinityCheck()
-        self.Config_KeepOverlapTauRecVicinity   = PSB_Flags.Config_KeepOverlapTauRecVicinity()
-        
-        #Container Names
-        self.ContainerName_eflowJets                    = PSB_Flags.ContainerName_eflowJets()
-        self.ContainerName_eflowObjectsFromTaus         = PSB_Flags.ContainerName_eflowObjectsFromTaus()
-        self.ContainerName_tauRec                       = PSB_Flags.ContainerName_tauRec()
-        self.ContainerName_PrimaryVertices              = PSB_Flags.ContainerName_PrimaryVertices()
-        self.ContainerName_TruthTaus                    = PSB_Flags.ContainerName_TruthTaus()
-        self.ContainerName_PanTauGoodOutputSeeds        = PSB_Flags.ContainerName_PanTauGoodOutputSeeds() + jetAlgName
-        self.ContainerName_PanTauBadOutputSeeds         = PSB_Flags.ContainerName_PanTauBadOutputSeeds() + jetAlgName
-        self.ContainerName_TruePi0MatchedNeutralEFOs    = PSB_Flags.ContainerName_TruePi0MatchedNeutralEFOs()
-        
-        # Preselection
-        self.Config_Presel_DoPreselection       = PSB_Flags.Config_Presel_DoPreselection()
-        self.Config_Presel_MaxAbsEta            = PSB_Flags.Config_Presel_MaxAbsEta()
-        self.Config_Presel_MinNumberChargedComp = PSB_Flags.Config_Presel_MinNumberChargedComp()
-        self.Config_Presel_MaxNumberChargedComp = PSB_Flags.Config_Presel_MaxNumberChargedComp()
-        self.Config_Presel_MinAbsSeedCharge     = PSB_Flags.Config_Presel_MinAbsSeedCharge()
-        self.Config_Presel_MaxAbsSeedCharge     = PSB_Flags.Config_Presel_MaxAbsSeedCharge()
-        self.Config_Presel_MinSeedPt            = PSB_Flags.Config_Presel_MinSeedPt()
-        
-        # EFO Selection
-        self.Config_EfoSel_DoEfoSelection           = PSB_Flags.Config_EfoSel_DoEfoSelection()
-        self.Config_EfoSel_EtaBins                  = PSB_Flags.Config_EfoSel_EtaBins()
-        self.Config_EfoSel_EtaBinEtCuts             = PSB_Flags.Config_EfoSel_EtaBinEtCuts()
-        self.Config_EfoSel_Pi0EtBins                = PSB_Flags.Config_EfoSel_Pi0EtBins()
-        self.Config_EfoSel_Pi0EtBinBDTCuts         = PSB_Flags.Config_EfoSel_Pi0EtBinBDTCuts()
-        self.Config_EfoSel_MinEflowObjectEt         = PSB_Flags.Config_EfoSel_MinEflowObjectEt()
-        self.Config_EfoSel_MaxEflowObjectEta        = PSB_Flags.Config_EfoSel_MaxEflowObjectEta()
-        self.Config_EfoSel_MinHADNeutralEt          = PSB_Flags.Config_EfoSel_MinHADNeutralEt()
-        self.Config_EfoSel_MinEMNeutralEt           = PSB_Flags.Config_EfoSel_MinEMNeutralEt()
-        self.Config_EfoSel_MinEMNeutralE            = PSB_Flags.Config_EfoSel_MinEMNeutralE()
-        self.Config_EfoSel_MinPi0NeutralE           = PSB_Flags.Config_EfoSel_MinPi0NeutralE()
-        self.Config_EfoSel_MinPi0NeutralEt          = PSB_Flags.Config_EfoSel_MinPi0NeutralEt()
-        self.Config_EfoSel_UseEMNeutralHadronicVeto = PSB_Flags.Config_EfoSel_UseEMNeutralHadronicVeto()
-        self.Config_EfoSel_ApplyEMNeutralECut       = PSB_Flags.Config_EfoSel_ApplyEMNeutralECut()
-        self.Config_EfoSel_ApplyEMNeutralEtCut      = PSB_Flags.Config_EfoSel_ApplyEMNeutralEtCut()
-        self.Config_EfoSel_ApplyPi0NeutralECut      = PSB_Flags.Config_EfoSel_ApplyPi0NeutralECut()
-        self.Config_EfoSel_ApplyPi0NeutralEtCut     = PSB_Flags.Config_EfoSel_ApplyPi0NeutralEtCut()
-        self.Config_EfoSel_ApplyPionMassHypothesis  = PSB_Flags.Config_EfoSel_ApplyPionMassHypothesis()
-        self.Config_EfoSel_PiZeroBDTThreshold       = PSB_Flags.Config_EfoSel_PiZeroBDTThreshold()
-        self.Config_EfoSel_TrackMatch_DeltaEta      = PSB_Flags.Config_EfoSel_TrackMatch_DeltaEta()
-        self.Config_EfoSel_TrackMatch_DeltaPhi      = PSB_Flags.Config_EfoSel_TrackMatch_DeltaPhi()
-        self.Config_EfoSel_TrackMatch_RelEMatch     = PSB_Flags.Config_EfoSel_TrackMatch_RelEMatch()
-        
-        print("__init__ PanTauSeedBuilderAlg successful")
-
-    def setDefaults(cls, hdl):
-        #print ("*setDefaults before test")
-        #### continue, only if it is our Configurable
-        if not isinstance(hdl, PanTauSeedBuilderAlg):
-            return
-        #print ("*setDefaults")
-
-        from PanTauAnalysis.PanTauFlags import jobproperties as jp
-        from AthenaCommon.AppMgr import ToolSvc
-        #from AthenaCommon.Configurable import Configurable
-        ## continue, only if option not already set
-        if not hasattr(hdl, 'TauFeatureExtractionTools'):
-            hdl.Tools_TauFeatureExtractionTools = ""#PublicToolHandleArray([])
-            pass
-
-        if not hasattr(hdl, 'TrackSelectorTool'):
-            trackSel = PanTauSeedTrackSelector()
-            ToolSvc += trackSel
-            hdl.Tools_TrackSelectorTool = trackSel
-
-        return
-
-    #def __str__(self):
-        #return ""
-        #return super(PanTauSeedBuilderAlg,self).__str__()
-
-    pass # PanTauSeedBuilderAlg
-
-
-from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
-class PanTauSeedTrackSelector( InDet__InDetDetailedTrackSelectorTool ):
-    __slots__ = { }
-
-    def __init__( self,
-                  name = "PanTauSeedTrackSelector" ):
-        #print ("init seed track sel")
-        from PanTauAnalysis.PanTauFlags import jobproperties as jp
-        from AthenaCommon.AppMgr import ToolSvc
-        # ATLAS extrapolator
-        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        theAtlasExtrapolator=AtlasExtrapolator()
-        ToolSvc+=theAtlasExtrapolator
-        # call base class constructor:
-        InDet__InDetDetailedTrackSelectorTool.__init__(self,name,\
-                            pTMin                = 1000,
-                            IPd0Max              = 2.0,
-                            IPz0Max              = 10.,  # z0*sin(theta)
-                            z0Max                = 9999.,# z0
-                            useTrackSummaryInfo  = True,
-                            nHitBLayer           = 0,
-                            nHitPix              = 2,
-                            nHitSct              = 0,
-                            nHitSi               = 7,
-                            nHitTrt              = 0,
-                            useSharedHitInfo     = False,
-                            fitChi2OnNdfMax      = 9999.,
-                            TrackSummaryTool     = "",
-                            Extrapolator         = theAtlasExtrapolator,
-                            OutputLevel          = 4)
-        print (self)
-
-#class PanTauImpactParameterTrackSelector( InDet__InDetDetailedTrackSelectorTool ):
-    #__slots__ = { }
-
-    #def __init__( self,
-                  #name = "PanTauImpactParamterTrackSelector" ):
-        #from PanTauAnalysis.PanTauFlags import jobproperties as jp
-        #from AthenaCommon.AppMgr import ToolSvc
-        ## ATLAS extrapolator
-        #from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        #theAtlasExtrapolator=AtlasExtrapolator()
-        #ToolSvc+=theAtlasExtrapolator
-        ## call base class constructor:
-        #InDet__InDetDetailedTrackSelectorTool.__init__(self,name,\
-                            #pTMin                = 1000,
-                            #IPd0Max              = 1.5,
-                            #IPz0Max              = 1.5,  # z0*sin(theta)
-                            #z0Max                = 9999.,# z0
-                            #useTrackSummaryInfo  = True,
-                            #nHitBLayer           = 1,
-                            #nHitPix              = 2,
-                            #nHitSct              = 0,
-                            #nHitSi               = 7,
-                            #nHitTrt              = 0,
-                            #useSharedHitInfo     = False,
-                            #fitChi2OnNdfMax      = 9999.,
-                            #TrackSummaryTool     = "",
-                            #Extrapolator         = theAtlasExtrapolator)
-
-
-from PanTauAlgs.PanTauAlgsConf import PanTau__TauImpactParameterExtractionTool
-class PanTauImpactParameterExtractionTool( PanTau__TauImpactParameterExtractionTool ):
-    __slots__ = { }
-
-    def __init__( self,
-                  name = "PanTauImpactParameterExtractionTool" ):
-        from PanTauAnalysis.PanTauFlags import jobproperties as jp
-        from AthenaCommon.AppMgr import ToolSvc
-
-        from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-        theAtlasExtrapolator=AtlasExtrapolator()
-        ToolSvc += theAtlasExtrapolator
-        # track selector for impact parameter:
-        from InDetTrackSelectorTool.InDetTrackSelectorToolConf import InDet__InDetDetailedTrackSelectorTool
-        impactParamTrackSel = InDet__InDetDetailedTrackSelectorTool(name+"TrackSel",
-                            pTMin                = 1000,
-                            IPd0Max              = 1.5,
-                            IPz0Max              = 1.5,  # z0*sin(theta)
-                            z0Max                = 9999.,# z0
-                            useTrackSummaryInfo  = True,
-                            nHitBLayer           = 1,
-                            nHitPix              = 2,
-                            nHitSct              = 0,
-                            nHitSi               = 7,
-                            nHitTrt              = 0,
-                            useSharedHitInfo     = False,
-                            fitChi2OnNdfMax      = 9999.,
-                            TrackSummaryTool     = "",
-                            Extrapolator         = theAtlasExtrapolator)
-        print (impactParamTrackSel)
-        ToolSvc += impactParamTrackSel
-        # TrackToVertexIPEstimator (needed for impact parameter calculation)
-        from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator
-        trackToVertexIPEstimator = Trk__TrackToVertexIPEstimator(Extrapolator = theAtlasExtrapolator)
-        print (trackToVertexIPEstimator)
-        ToolSvc += trackToVertexIPEstimator
-        # call base class constructor:
-        PanTau__TauImpactParameterExtractionTool.__init__(self,name,\
-                                                          TrackToVertexIPEstimator    = trackToVertexIPEstimator,
-                                                          TrackSelectorTool           =  impactParamTrackSel)
-        print (self)
-
-
-def createTauSeedBuilder(   jetAlgName = "Cone4",
-                            tauFeatureExtractionTools = None,
-                            trackSelectorTool = None):
-                            #**kw ):
-    """
-    Factory function to create a fully and correctly configured customized
-    TauSeedBuilderAlg
-    """
-    from PanTauAnalysis.PanTauFlags import jobproperties as jp
-    from AthenaCommon.AppMgr import ToolSvc
-    
-    if trackSelectorTool is None:
-        trackSelectorTool = PanTauSeedTrackSelector()
-        #print (trackSelectorTool)
-        ToolSvc += trackSelectorTool
-    
-    if tauFeatureExtractionTools is None:
-        tauFeatureExtractionTools = []
-        if jp.PanTauFlags.GetJetFeatures() :
-            from PanTauAlgs.PanTauAlgsConf import PanTau__TauJetFeatureExtractionTool
-            tauJetExtr = PanTau__TauJetFeatureExtractionTool()
-            print (tauJetExtr)
-            ToolSvc += tauJetExtr
-            tauFeatureExtractionTools += [tauJetExtr]
-        if jp.PanTauFlags.GetImpactParameterFeatures() :
-            tauImpactParameterExtr = PanTauImpactParameterExtractionTool()
-            ToolSvc += tauImpactParameterExtr
-            #print (tauImpactParameterExtr)
-            tauFeatureExtractionTools += [tauImpactParameterExtr]
-            #print (tauImpactParameterExtr)
-
-    return PanTauSeedBuilderAlg( 'TauSeedBuild'+jetAlgName, jetAlgName,
-                            Tools_TauFeatureExtractionTools    = tauFeatureExtractionTools,
-                            Tools_TrackSelectorTool = trackSelectorTool)
-
-
-                         #**kw )
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg_Flags.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg_Flags.py
deleted file mode 100644
index e1369afdeaaf3c5ea63d21791906f3f26a177a35..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauSeedBuilderAlg_Flags.py
+++ /dev/null
@@ -1,393 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/PanTauSeedBuilderAlg_Flags.py
-## @brief Python module to hold the flags that configure the TauSeedBuilderAlg
-##
-
-""" PanTauSeedBuilderAlg_Flags
-    Python module to hold flags to configure PanTau.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilerAlgFlags
-
-"""
-
-__author__ = "C.Limbach"
-__version__= "$Revision: 500031 $"
-__doc__    = "PanTauSeedBuilderAlg_Flags"
-
-__all__    = [ "PanTauSeedBuilderAlg_Flags" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-import AthenaCommon.SystemOfUnits as Units
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-
-
-class ContainerName_eflowJets(JobProperty):
-    """Name of SG container with jets consisting of EFOs"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "EflowCone4Jets"
-
-class ContainerName_eflowObjectsFromTaus(JobProperty):
-    """Name of SG container with efos created from tauRec taus"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "eflowObjects_tauMode"
-
-class ContainerName_tauRec(JobProperty):
-    """Name of SG container with tauRec taus"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "TauJets"
-
-class ContainerName_PrimaryVertices(JobProperty):
-    """Name of SG container with primary vertices"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "VxPrimaryCandidate"
-
-class ContainerName_TruthTaus(JobProperty):
-    """Name of SG container with truth taus"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "TruthTaus"
-
-class ContainerName_PanTauGoodOutputSeeds(JobProperty):
-    """Name of SG container that is used by the JetBuilderAlg and contains the good pantau seeds"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "PanTauSeeds"
-
-class ContainerName_PanTauBadOutputSeeds(JobProperty):
-    """Name of SG container that is used by the JetBuilderAlg and contains the bad pantau seeds"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "PanTauRejectedSeeds"
-
-class ContainerName_TruePi0MatchedNeutralEFOs(JobProperty):
-    """Name of SG container with efos that have been matched to neutral pions"""
-    statusOn     = True
-    allowedTypes = ['str']
-    StoredValue  = "EFOsMatchedToNeutralPions"
-        
-
-
-# #############################################################################################
-# Basic Config flags
-
-class Config_UseTauRecAsSeeds(JobProperty):
-    """Use the tauRec container rather than the eflowJet container as input"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_EfoCollectionDeltaR(JobProperty):
-    """in the case of UseTauRecAsSeeds=true, this is the collection deltaR"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.4
-
-class Config_DeltaRCoreRegion(JobProperty):
-    """DeltaR of core region used to calculate the 4 momentum"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.2
-
-class Config_DoTauRecVicinityCheck(JobProperty):
-    """flag to turn tauRec vicinity check on/off"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class Config_DeltaRTauRecVicinityCheck(JobProperty):
-    """property to set deltaR of vicinitychecktool"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.4
-
-class Config_KeepOverlapTauRecVicinity(JobProperty):
-    """property to set deltaR of vicinitychecktool"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_DoRunTimeHists(JobProperty):
-    """Flag to switch creation of root file with runtime hists on/off"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-# #############################################################################################
-# Flags for the seed preselection
-
-
-class Config_Presel_DoPreselection(JobProperty):
-    """flag to tell whether the seed preselection will be executed or not"""
-    statusOn    = True
-    allowedType = ['bool']
-    StoredValue = True
-
-class Config_Presel_MaxAbsEta(JobProperty):
-    """Maximal seed eta"""
-    statusOn     = True
-    allowedType  = ['float']
-    StoredValue  = 2.7
-
-class Config_Presel_MinNumberChargedComp(JobProperty):
-    """Minimal number of charged components in seed"""
-    statusOn     = True
-    allowedTypes = ['int']
-    StoredValue  = 1
-
-class Config_Presel_MaxNumberChargedComp(JobProperty):
-    """Maximal number of charged components in seed"""
-    statusOn     = True
-    allowedTypes = ['int']
-    StoredValue  = 7
-
-class Config_Presel_MinAbsSeedCharge(JobProperty):
-    """Minimal absolute charge of seed"""
-    statusOn     = True
-    allowedTypes = ['int']
-    StoredValue  = 0
-
-class Config_Presel_MaxAbsSeedCharge(JobProperty):
-    """Maximal absolute charge of seed"""
-    statusOn     = True
-    allowedTypes = ['int']
-    StoredValue  = 5
-
-class Config_Presel_MinSeedPt(JobProperty):
-    """Minimal Pt of seed"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 15.* Units.GeV
-
-
-
-# #############################################################################################
-# Flags for eflowObject selection
-
-
-class Config_EfoSel_DoEfoSelection(JobProperty):
-    """Minimal ET of eflow objects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class Config_EfoSel_MinEflowObjectEt(JobProperty):
-    """Minimal ET of eflow objects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.0* Units.GeV
-
-
-class Config_EfoSel_EtaBins(JobProperty):
-    """Seed Building: Eta Bin edges for eta dependent Et cut on PiNeutral EFOs"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 0.0, 0.8, 1.35, 1.55, 2.5 ]
-    #bin edges from Benedict
-
-class Config_EfoSel_EtaBinEtCuts(JobProperty):
-    """Seed Building: Et cuts on Pi0Neutral EFOs in the different Eta bins"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 1.5* Units.GeV, 1.5* Units.GeV, 1.5* Units.GeV, 2.0* Units.GeV]
-    # et cuts guessed at the moment...
-
-
-class Config_EfoSel_Pi0EtBins(JobProperty):
-    """Seed Building: EtBin edges for the et dependent cut on pi0 BDT"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ 0.0, 100* Units.GeV ]
-    #bin edges from Benedict
-
-class Config_EfoSel_Pi0EtBinBDTCuts(JobProperty):
-    """Seed Building: Pi0 BDT cuts on neutral efos in the different ET bins"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ -0.04]
-    # et cuts guessed at the moment...
-
-
-class Config_EfoSel_MaxEflowObjectEta(JobProperty):
-    """Max abs(eta) of eflow objects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 2.5
-
-class Config_EfoSel_MinHADNeutralEt(JobProperty):
-    """Minimum Et of hadronic neutral eflow objets"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 1.* Units.GeV
-
-class Config_EfoSel_MinEMNeutralEt(JobProperty):
-    """Minimum EMNeutral ET of neutral eflow objects (MeV)"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 1.* Units.GeV
-
-class Config_EfoSel_MinEMNeutralE(JobProperty):
-    """Minimum EMNeutral E of neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 1.* Units.GeV
-
-class Config_EfoSel_MinPi0NeutralE(JobProperty):
-    """Minimum EMNeutral E of neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 1.* Units.GeV
-
-class Config_EfoSel_MinPi0NeutralEt(JobProperty):
-    """Minimum EMNeutral E of neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 2.5* Units.GeV
-
-class Config_EfoSel_UseEMNeutralHadronicVeto(JobProperty):
-    """use hadronic veto to define EM neutrals"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_EfoSel_ApplyEMNeutralECut(JobProperty):
-    """Apply E cut on EM neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class Config_EfoSel_ApplyEMNeutralEtCut(JobProperty):
-    """Apply Et cut on EM neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_EfoSel_ApplyPi0NeutralECut(JobProperty):
-    """Apply Et cut on EM neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class Config_EfoSel_ApplyPi0NeutralEtCut(JobProperty):
-    """Apply Et cut on EM neutral eflow objects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_EfoSel_ApplyPionMassHypothesis(JobProperty):
-    """Apply the pion mass hypotheses to eflowObjects"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class Config_EfoSel_PiZeroBDTThreshold(JobProperty):
-    """Apply the pion mass hypotheses to eflowObjects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = -0.04
-
-class Config_EfoSel_TrackMatch_DeltaEta(JobProperty):
-    """Apply the pion mass hypotheses to eflowObjects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.0001
-
-class Config_EfoSel_TrackMatch_DeltaPhi(JobProperty):
-    """Apply the pion mass hypotheses to eflowObjects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.0001
-
-class Config_EfoSel_TrackMatch_RelEMatch(JobProperty):
-    """Apply the pion mass hypotheses to eflowObjects"""
-    statusOn     = True
-    allowedTypes = ['float']
-    StoredValue  = 0.10
-
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTau flag container
-class PanTauSeedBuilderAlg_Flags(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(PanTauSeedBuilderAlg_Flags)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_eflowJets)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_eflowObjectsFromTaus)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_tauRec)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_PrimaryVertices)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_TruthTaus)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_PanTauGoodOutputSeeds)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_PanTauBadOutputSeeds)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(ContainerName_TruePi0MatchedNeutralEFOs)
-
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_UseTauRecAsSeeds)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoCollectionDeltaR)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_DeltaRCoreRegion)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_DoTauRecVicinityCheck)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_DeltaRTauRecVicinityCheck)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_KeepOverlapTauRecVicinity)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_DoRunTimeHists)
-
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_DoPreselection)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MaxAbsEta)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MinNumberChargedComp)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MaxNumberChargedComp)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MinAbsSeedCharge)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MaxAbsSeedCharge)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_Presel_MinSeedPt)
-
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_DoEfoSelection)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_EtaBins)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_EtaBinEtCuts)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_Pi0EtBins)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_Pi0EtBinBDTCuts)
-    
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinEflowObjectEt)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MaxEflowObjectEta)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinHADNeutralEt)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinEMNeutralEt)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinEMNeutralE)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinPi0NeutralEt)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_MinPi0NeutralE)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_UseEMNeutralHadronicVeto)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_ApplyEMNeutralECut)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_ApplyEMNeutralEtCut)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_ApplyPi0NeutralECut)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_ApplyPi0NeutralEtCut)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_ApplyPionMassHypothesis)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_PiZeroBDTThreshold)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_TrackMatch_DeltaEta)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_TrackMatch_DeltaPhi)
-jobproperties.PanTauSeedBuilderAlg_Flags.add_JobProperty(Config_EfoSel_TrackMatch_RelEMatch)
-
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags
-PanTauSeedBuilderAlgFlags = jobproperties.PanTauSeedBuilderAlg_Flags
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/PanTauValidationFlags.py b/PhysicsAnalysis/PanTauAnalysis/python/PanTauValidationFlags.py
deleted file mode 100644
index 6e9af42ee340a66d956caabae0d20bf88c99cc6b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/PanTauValidationFlags.py
+++ /dev/null
@@ -1,138 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-##
-## @file PanTauAnalysis/python/PanTauValidationFlags.py
-## @brief Python module to hold common flags to configure PanTau validation
-##
-
-""" PanTauValidationFlags
-    Python module to hold flags to configure PanTau.
-
-    From the python prompt:
-    >>> from PanTauAnalysis.PanTauValidationFlags import panTauValidationFlags
-
-"""
-
-__author__ = "S.Fleischmann"
-__version__= "$Revision: 545441 $"
-__doc__    = "PanTauValidationFlags"
-
-__all__    = [ "panTauValidationFlags" ]
-
-##-----------------------------------------------------------------------------
-## Import
-
-from AthenaCommon.JobProperties import JobProperty, JobPropertyContainer
-from AthenaCommon.JobProperties import jobproperties
-
-##-----------------------------------------------------------------------------
-## 1st step: define JobProperty classes
-
-class DoSeedEfficiency(JobProperty):
-    """Seed validation: Call Seed Efficiency Alg?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoTauEfficiency(JobProperty):
-    """Tau Efficiency: Call Tau Efficiency Alg"""
-    statusON     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoFeatureWriter(JobProperty):
-    """Feature Writer: Call Feature Writer?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = True
-
-class DoFeatureDefaultSmearing(JobProperty):
-    """Feature Writer: Smear default values?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class WriteEfoMomentaInFeatureWriter(JobProperty):
-    """Feature Writer: Write EFO 4-momenta?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class WriteMissingSeedsInFeatureWriter(JobProperty):
-    """Feature Writer: Write missing seeds?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class WriteRejectedSeedsInFeatureWriter(JobProperty):
-    """Feature Writer: Write missing seeds?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class DoSubClusterEfficiency(JobProperty):
-    """Seed validation: Run sub-cluster efficiency?"""
-    statusOn     = True
-    allowedTypes = ['bool']
-    StoredValue  = False
-
-class AllFeatureNames(JobProperty):
-    """feature validation: List of all feature Names"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ ]
-
-class AllFeatureDefaultValues(JobProperty):
-    """feature validation: List of all feature default values, used if feature is not set (same dimension as AllFeatureNames)"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ ]
-
-class AllFeatureDefaultValueSmearingSigma(JobProperty):
-    """feature validation: List of all feature sigmas for default value smearing, used if feature is not set (same dimension as AllFeatureNames)"""
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ ]
-
-class AllFeatureTypes(JobProperty):
-    statusOn     = True
-    allowedTypes = ['list']
-    StoredValue  = [ ]
-
-##-----------------------------------------------------------------------------
-## 2nd step
-## Definition of the PanTau flag container
-class PanTauValidationFlags(JobPropertyContainer):
-    """Container for the common flags
-    """
-    pass
-
-##-----------------------------------------------------------------------------
-## 3rd step
-## adding the container to the general top-level container
-jobproperties.add_Container(PanTauValidationFlags)
-
-##-----------------------------------------------------------------------------
-## 4th step
-## adding athena common flags to the AthenaCommonFlags container
-jobproperties.PanTauValidationFlags.add_JobProperty(DoSeedEfficiency)
-jobproperties.PanTauValidationFlags.add_JobProperty(DoTauEfficiency)
-jobproperties.PanTauValidationFlags.add_JobProperty(DoFeatureWriter)
-jobproperties.PanTauValidationFlags.add_JobProperty(DoFeatureDefaultSmearing)
-jobproperties.PanTauValidationFlags.add_JobProperty(WriteEfoMomentaInFeatureWriter)
-jobproperties.PanTauValidationFlags.add_JobProperty(WriteMissingSeedsInFeatureWriter)
-jobproperties.PanTauValidationFlags.add_JobProperty(WriteRejectedSeedsInFeatureWriter)
-jobproperties.PanTauValidationFlags.add_JobProperty(DoSubClusterEfficiency)
-jobproperties.PanTauValidationFlags.add_JobProperty(AllFeatureNames)
-jobproperties.PanTauValidationFlags.add_JobProperty(AllFeatureDefaultValues)
-jobproperties.PanTauValidationFlags.add_JobProperty(AllFeatureDefaultValueSmearingSigma)
-jobproperties.PanTauValidationFlags.add_JobProperty(AllFeatureTypes)
-
-##-----------------------------------------------------------------------------
-## 5th step
-## short-cut for lazy people
-## carefull: do not select PanTauFlags as a short name as well. 
-## otherwise problems with pickle
-## Note: you still have to import it:
-## >>> from PanTauAnalysis.PanTauValidationFlags import panTauValidationFlags
-panTauValidationFlags = jobproperties.PanTauValidationFlags
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/RunTimeHistConfig.py b/PhysicsAnalysis/PanTauAnalysis/python/RunTimeHistConfig.py
deleted file mode 100644
index e1610dafa62ff5ee6b2100e9240e5cc82c2613d4..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/RunTimeHistConfig.py
+++ /dev/null
@@ -1,373 +0,0 @@
-# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
-
-# @file: PanTauAnalysis/python/RunTimeHistos.py
-# @purpose: Add a list of histograms to monitor variables in the seed builder
-
-from __future__ import print_function
-
-__doc__    = "Add a list of histograms to monitor variables in the seed builder"
-__author__ = "C.Limbach"
-#__version__= "$Revision:  $"
-
-
-def getRTHList():
-    
-    #Note the hists have to be inside this variable:
-    RunTimeHisto_List = []
-    
-    ###########################################
-    # CREATION OF HISTOGRAMS
-    #
-    # NOTE: The NameOfHisto must match the string assigned to a variable in the TauSeedBuilderAlg!
-    # NOTE: i.e. if a histo is created with
-    # RunTimeHisto_List += ['(X)ImportantVariable', '(X) itsXaxistitle', 100, 0.0, 1.0]
-    # where (for convenience) add the (X) bit like this:
-    #   (G) for 'G'lobal variables that exist once per event
-    #   (T) for 'T'au variables that exist once per tau
-    #   (E) for 'E'FO variables that exist once per EFO
-    #   (SY) for 'S'ingle variables that are filled with values directly (see below)
-    #       In addition, specify whether this single variable is 
-    #       (G) per Event   -> (SG)
-    #       (T) per Tau     -> (ST)
-    #       (E) per EFO     -> (SE)
-    #       NOTE:   for the x axis title, G, T or E should suffice, since the S is only for
-    #               internal convenience.
-    
-    ###########################################
-    # FILLING OF HISTOGRAMS
-    #
-    # Filling is done in PanTauAlgs/src/TauSeedBuilderAlg.cxx
-    # Histograms are filled at the end of each event.
-    # The value that is to be filled has to be added to the RunTimeMonitoring by using
-    #    m_RunTimeMonitoring->AddEventVariable("eventVar", eventVar);
-    #    m_RunTimeMonitoring->AddTauVariable("tauVar", eventVar);
-    #    m_RunTimeMonitoring->AddEFOVariable("efoVar", eventVar);
-    #
-    # Then, if FillHists() is invoked, it is looped through all the histograms given here in this
-    # file, and for each histogram it is searched for a variable (Event, Tau or EFO) with the same name.
-    # If such a variable is found (and this is the case if it has been added in the way described above),
-    # then its value will be filled into the histogram.
-    # Note that more than one value can be added to the variable (they are vectors)
-    # 
-    # Since there can be more than one tau per event, you need to make sure, that
-    #    m_RunTimeMonitoring->AddTau();
-    # is called exactly once at the beginning of the loop over the tau seeds.
-    # Analogously, you need to call
-    #    m_RunTimeMonitoring->AddEFO();
-    # since a tau may consist of more than one EFO.
-    #
-    # There is also the possibility to fill histograms directly. This is done by (for instance)
-    #    FillSingleHisto->("(SG)singleVar", 4711);
-    #    FillSingleHisto->("(ST)singleVar", 4711);
-    #    FillSingleHisto->("(SE)singleVar", 4711);
-    # NOTE: It is sufficient to fill the single variables like this, because the value is dumped
-    #       into the hist directly.
-    #
-    # WARNING:  If you use FillSingleHisto on a histo that is already filled with a variable
-    #           that has been added by Add...Variable(...), you mess up your histograms!
-    # HOWEVER:  If you stick with using the (X) prefix you should be save :)
-    # STILL:    There is no protection in the framework to catch any errors you make in this context
-    
-    
-    ###########################################
-    # GLOBAL VARIABLES (i.e. once per event)
-    #
-    # RunTimeHisto_List += [['(G)', '(G)', , ,]]
-    RunTimeHisto_List += [['(G)Number_TausInTauContainer',              '(G) N(#tau) in tauRec container', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_EFOsInEFOContainer',              '(G) N(EFO) in eflow tauMode container', 201, -0.5, 200.5]]
-    RunTimeHisto_List += [['(G)Number_InputSeeds',                      '(G) Number of input seeds for PanTau', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_OutputSeeds',                     '(G) Number of output seeds', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_GoodSeeds',                       '(G) Number of good seeds', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_BadSeeds',                        '(G) Number of bad seeds', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_BadSeeds_Invalid',                '(G) Number of bad seeds due to invalid seeds', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_BadSeeds_FailPresel',             '(G) Number of bad seeds due to failed preselection', 101, -0.5, 100.5]]
-    RunTimeHisto_List += [['(G)Number_InputSeeds-OutputSeeds',          '(G) N(input seeds) - N(output seeds)', 41, -20.5, 20.5]]
-    RunTimeHisto_List += [['(G)Number_Used_EFOs_Sum',                          '(G) N(EFOs used) sum-region', 151, -0.5, 150.5]]
-    RunTimeHisto_List += [['(G)Number_Used_EFOs_Core',                         '(G) N(EFOs used) core-region', 151, -0.5, 150.5]]
-    RunTimeHisto_List += [['(G)Number_EFOsAvailable-EFOsUsed_Sum',      '(G) N(EFOs) - N(EFOs used)', 171, -20.5, 150.5]]
-    RunTimeHisto_List += [['(G)Number_EFOsAvailable-EFOsUsed_Core',     '(G) N(EFOs) - N(EFOs used core)', 171, -20.5, 150.5]]
-    RunTimeHisto_List += [['(G)EventsWithInvalidTauSeedsOnly',          '(G) All (x) tauRecs invalid', 21, -0.5, 20.5]]
-    
-    RunTimeHisto_List += [['(G)Vicinity_DeltaRBetweenTauRecCandidates',          '(G) #Delta R(#tau^{tauRec}_{i}, #tau^{tauRec}_{j})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(G)Vicinity_DeltaRMinTauRecsForSingleTauRecCand',    '(G) #Delta R_{min}(#tau^{tauRec}_{i}, #tau^{tauRec}_{j}) for each #tau^{tauRec}', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(G)Vicinity_DeltaRMinTauRecsInEvent',                '(G) #Delta R_{min}(#tau^{tauRec}_{i}, #tau^{tauRec}_{j}) in event', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_n',                      '(G) Number of unused EFO in event', 40, -0.5, 39.5]]
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_nCharged',               '(G) Number of unused EFO^{#pm} in event', 40, -0.5, 39.5]]
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_nNeutral',               '(G) Number of unused EFO^{0} in event', 40, -0.5, 39.5]]
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_nInCone',                '(G) Number of unused EFOs inside 0.4 wrt tauSeed', 40, -0.5, 39.5]]
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_nOutOfCone',             '(G) Number of unused EFOs outside 0.4 wrt tauSeed', 40, -0.5, 39.5]]
-    RunTimeHisto_List += [['(G)Usage_UnusedEFO_nOutClusters-nUnused',   '(G) N(clusters outside 0.4 wrt tauSeed) - N(unused EFOs)', 41, -20.5, 20.5]]
-    
-    RunTimeHisto_List += [['(G)Usage_Unused_MinDrTau',                          '(G) #Delta R_{min}(EFO_{unused}, #tau)',                                      200, 0.3, 0.7]]
-    RunTimeHisto_List += [['(G)Usage_Unused_MoreUnusedThanCluster_MinDrTau',    '(G) #Delta R_{min}(EFO_{unused}, #tau) for N(EFO_{unused}) > N(outcluster)',  200, 0.3, 0.7]]
-    RunTimeHisto_List += [['(G)Usage_Unused_EqualUnusedThanCluster_MinDrTau',   '(G) #Delta R_{min}(EFO_{unused}, #tau) for N(EFO_{unused}) = N(outcluster)',  200, 0.3, 0.7]]
-    RunTimeHisto_List += [['(G)Usage_Unused_LessUnusedThanCluster_MinDrTau',    '(G) #Delta R_{min}(EFO_{unused}, #tau) for N(EFO_{unused}) < N(outcluster)',  200, 0.3, 0.7]]
-    
-    
-    ###########################################
-    # TAU VARIABLES (i.e. once per tau)
-    #
-    # RunTimeHisto_List += [['(T)', '(T)', , ,]]
-    RunTimeHisto_List += [['(T)InSeed_IsValid',                         '(T) Input Seed is valid', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_NullTau',                         '(T) Input seed has null pointer to #tau_{tauRec}', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_BadNumTrack',                     '(T) Input Seed has bad numTrack', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_FlawedPt',                        '(T) Input Seed has bad p_{T}', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_FlawedPtNullJet',                 '(T) Input Seed has bad p_{T} and null jet pointer', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_FlawedPtBadJetPt',                '(T) Input Seed has bad p_{T} and its jet too', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)InSeed_numTrackAll',                     '(T) numTrack of all input tauRec seeds', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)InSeed_numTrackValid',                   '(T) numTrack of valid input tauRec seeds', 21, -0.5, 20.5]]
-    
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRTauJetClusterToTauJet',         '(T) #Delta R(#tau^{jet}_{cluster i}, #tau^{jet})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRTauJetClusterToTauSeed',        '(T) #Delta R(#tau^{jet}_{cluster i}, #tau^{seed})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRMaxTauJetClusterToTauJet',      '(T) #Delta R_{max}(#tau^{jet}_{cluster i}, #tau^{jet})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRMaxTauJetClusterToTauSeed',     '(T) #Delta R_{max}(#tau^{jet}_{cluster i}, #tau^{jet})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_NClusterOutsideCollectionConeWrtSeed','(T) N(clusters) in tau outside of EFO collection cone wrt. Tau', 52, -1.5, 50.5]]
-    RunTimeHisto_List += [['(T)InSeedClus_NClusterOutsideCollectionConeWrtJet', '(T) N(clusters) in tau outside of EFO collection cone wrt. Jet', 52, -1.5, 50.5]]
-    
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRMaxTauJetValidClusterToTauJet',      '(T) #Delta R_{max}(#tau^{jet}_{cluster i}, #tau^{jet}) for E_{T}(cluster)>0.1 GeV', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_DeltaRMaxTauJetValidClusterToTauSeed',     '(T) #Delta R_{max}(#tau^{jet}_{cluster i}, #tau^{jet}) for E_{T}(cluster)>0.1 GeV', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedClus_NValidClusterOutsideCollectionConeWrtSeed','(T) N(clusters, E_{T}>0.1GeV) in tau outside of EFO collection cone wrt. Tau', 52, -1.5, 50.5]]
-    RunTimeHisto_List += [['(T)InSeedClus_NValidClusterOutsideCollectionConeWrtJet', '(T) N(clusters, E_{T}>0.1GeV) in tau outside of EFO collection cone wrt. Jet', 52, -1.5, 50.5]]
-    
-    
-    RunTimeHisto_List += [['(T)InSeedTrak_DeltaRTauSeedTrackToTauSeed',         '(T) #Delta R(#tau^{seed}_{track i}, #tau^{seed})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedTrak_DeltaRMaxTauSeedTrackToTauSeed',      '(T) #Delta R_{max}(#tau^{seed}_{track i}, #tau^{seed})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedTrak_NTracksOutsideCollectionConeWrtSeed', '(T) N(tracks) in tau outside of EFO collection cone wrt. Seed', 52, -1.5, 50.5]]
-    
-    RunTimeHisto_List += [['(T)InSeedTrak_DeltaRTauSeedTrackToTauJet',          '(T) #Delta R(#tau^{seed}_{track i}, #tau^{jet})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedTrak_DeltaRMaxTauSeedTrackToTauJet',       '(T) #Delta R_{max}(#tau^{seed}_{track i}, #tau^{jet})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)InSeedTrak_NTracksOutsideCollectionConeWrtJet',  '(T) N(tracks) in tau outside of EFO collection cone wrt. Jet', 52, -1.5, 50.5]]
-    
-    
-    RunTimeHisto_List += [['(T)AllTauRec_AssociatedEFOs',                   '(T) Associated EFOs for tauRec with any numTrack', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)AllTauRec_AssociatedChargedEFOs',            '(T) Associated charged EFOs for tauRec with any numTrack', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)AllTauRec_AssociatedNeutralEFOs',            '(T) Associated neutral EFOs for tauRec with any numTrack', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToClosestAssocEFO',      '(T) #Delta R of associated EFO closest to tauRec with any numTrack', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToFarestAssocEFO',       '(T) #Delta R of associated EFO farest from tauRec with any numTrack', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToFarestAssocChrgEFO',   '(T) #Delta R of associated EFO^{#pm} farest from tauRec with any numTrack', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToFarestAssocNeutEFO',   '(T) #Delta R of associated EFO^{0} farest from tauRec with any numTrack', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToClosestEFO_NoEFOs',    '(T) #Delta R of closest EFO to tauRec with any numTrack without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToClosestChrgEFO_NoEFOs','(T) #Delta R of closest EFO^{#pm} to tauRec with any numTrack without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)AllTauRec_DeltaRSeedToClosestNeutEFO_NoEFOs','(T) #Delta R of closest EFO^{0} to tauRec with any numTrack without EFOs', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(T)MultTrkTauRec_AssociatedEFOs',                   '(T) Associated EFOs for tauRec with numTrack >5 or 0', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_AssociatedChargedEFOs',            '(T) Associated charged EFOs for tauRec_{=0}^{>5}', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_AssociatedNeutralEFOs',            '(T) Associated neutral EFOs for tauRec_{=0}^{>5}', 21, -0.5, 20.5]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToClosestAssocEFO',      '(T) #Delta R of associated EFO closest to tauRec_{=0}^{>5} seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToFarestAssocEFO',       '(T) #Delta R of associated EFO farest from tauRec_{=0}^{>5} seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToFarestAssocChrgEFO',   '(T) #Delta R of associated EFO^{#pm} farest from tauRec_{=0}^{>5} seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToFarestAssocNeutEFO',   '(T) #Delta R of associated EFO^{0} farest from tauRec_{=0}^{>5} seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToClosestEFO_NoEFOs',    '(T) #Delta R of closest EFO to tauRec_{=0}^{>5} seed without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToClosestChrgEFO_NoEFOs','(T) #Delta R of closest EFO^{#pm} to tauRec_{=0}^{>5} seed without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)MultTrkTauRec_DeltaRSeedToClosestNeutEFO_NoEFOs','(T) #Delta R of closest EFO^{0} to tauRec_{=0}^{>5} seed without EFOs', 400, 0.0, 8.0]]
-    
-    
-    RunTimeHisto_List += [['(T)Seed_AssociatedEFOs',                        '(T) Associated EFOs in seed', 31, -0.5, 30.5]]
-    RunTimeHisto_List += [['(T)Seed_AssociatedChargedEFOs',                 '(T) Associated charged EFOs in seed', 31, -0.5, 30.5]]
-    RunTimeHisto_List += [['(T)Seed_AssociatedNeutralEFOs',                 '(T) Associated neutral EFOs in seed', 31, -0.5, 30.5]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToClosestAssocEFO',           '(T) #Delta R of associated EFO closest to tauRec seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToFarestAssocEFO',            '(T) #Delta R of associated EFO farest from tauRec seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToFarestAssocChrgEFO',        '(T) #Delta R of associated EFO^{#pm} farest from tauRec seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToFarestAssocNeutEFO',        '(T) #Delta R of associated EFO^{0} farest from tauRec seed', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToClosestEFO_NoEFOs',         '(T) #Delta R of closest EFO to tauRec seed without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToClosestChrgEFO_NoEFOs',     '(T) #Delta R of closest EFO^{#pm} to tauRec seed without EFOs', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(T)Seed_DeltaRSeedToClosestNeutEFO_NoEFOs',     '(T) #Delta R of closest EFO^{0} to tauRec seed without EFOs', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(T)Presel_SeedPassesSelection',             '(T) Seed passes preselection', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailPt',                          '(T) Preselection: Fail p_{T} cut', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailEta',                         '(T) Preselection: Fail #eta cut', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailEtaLower',                    '(T) Preselection: Fail #eta_{min} cut (too small)', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailEtaUpper',                    '(T) Preselection: Fail #eta_{max} cut (too large)', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailAbsSumCharge',                '(T) Preselection: Fail cut on |#sum q(EFO)|', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailAbsSumChargeLower',           '(T) Preselection: Fail cut on |#sum q(EFO)|_{min} (too small)', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailAbsSumChargeUpper',           '(T) Preselection: Fail cut on |#sum q(EFO)|_{max} (too large)', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailNChargedEFO',                 '(T) Preselection: Fail cut on N(EFO^{#pm})', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailNChargedEFOLower',            '(T) Preselection: Fail cut on N(EFO^{#pm})_{min} (too small)', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(T)Presel_FailNChargedEFOUpper',            '(T) Preselection: Fail cut on N(EFO^{#pm})_{max} (too large)', 4, -1.5, 2.5]]
-    
-    
-    
-    RunTimeHisto_List += [['(T)Seed_NumTrack_ChargedEFOs',            '(T) numTrack(tauRec) - NChargedEFO', 41, -20.5, 20.5]]
-    
-    
-    ###########################################
-    # EFO VARIABLES (i.e. once per EFO in tauSeed)
-    #
-    # RunTimeHisto_List += [['(E)', '(E)', , ,]]
-    RunTimeHisto_List += [['(E)ChrgEFOpt_ChrgEFOTrkpt',       '(E) Charged EFO pt - Charged EFO track pt [MeV]', 200, -10000.0, 10000.0]]
-    
-    RunTimeHisto_List += [['(E)EFOTruthMatch_EFOIsMatched',   '(E) Neutral EFO is matched to true pi0', 4, -1.5, 2.5]]
-    RunTimeHisto_List += [['(E)EFOTruthMatch_Reso_Et',        '(E) True #pi^{0}: #frac{E^{reco}_{T} - E^{true}_{T}}{E^{true}_{T}}', 80, -1.0, 1.0]]
-    RunTimeHisto_List += [['(E)EFOTruthMatch_Reso_Phi',       '(E) True #pi^{0}: #frac{#phi^{reco} - #phi^{true}}{#phi^{true}}', 80, -1.0, 1.0]]
-    RunTimeHisto_List += [['(E)EFOTruthMatch_Reso_Eta',       '(E) True #pi^{0}: #frac{#eta^{reco} - #eta^{true}}{#eta^{true}}', 80, -1.0, 1.0]]
-    RunTimeHisto_List += [['(E)EFOTruthMatch_Match_DeltaR',   '(E) #Delta R(#pi^{0}_{true}, EFO^{0})', 40, 0.0, 0.4]]
-    
-    RunTimeHisto_List += [['(E)AllEFOs_Charge',                     '(E) All EFOs: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)AllEFOs_E',                          '(E) All EFOs: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)AllEFOs_Et',                         '(E) All EFOs: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)AllEFOs_Eta',                        '(E) All EFOs: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)AllEFOs_Phi',                        '(E) All EFOs: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)AllEFOs_MinDrTau',                   '(E) All EFOs: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)AllEFOs_MinDrTau_ChrgEFO',           '(E) All EFOs: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)AllEFOs_MinDrTau_NeutEFO',           '(E) All EFOs: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(E)Usage_EFOIsUsedXTimes',                '(E) EFO is used x times',      12, -2.5, 9.5]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_Charge',            '(E) MultiUsedEFO: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_E',                 '(E) MultiUsedEFO: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_Et',                '(E) MultiUsedEFO: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_Eta',               '(E) MultiUsedEFO: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_Phi',               '(E) MultiUsedEFO: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_MinDrTau',          '(E) MultiUsedEFO: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_MinDrTau_ChrgEFO',  '(E) MultiUsedEFO: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_MultiUsedEFO_MinDrTau_NeutEFO',  '(E) MultiUsedEFO: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_Charge',                 '(E) UsedEFO: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_E',                      '(E) UsedEFO: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_Et',                     '(E) UsedEFO: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_Eta',                    '(E) UsedEFO: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_Phi',                    '(E) UsedEFO: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_MinDrTau',               '(E) UsedEFO: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_MinDrTau_ChrgEFO',       '(E) UsedEFO: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UsedEFO_MinDrTau_NeutEFO',       '(E) UsedEFO: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_Charge',               '(E) UnusedEFO: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_E',                    '(E) UnusedEFO: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_Et',                   '(E) UnusedEFO: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_Eta',                  '(E) UnusedEFO: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_Phi',                  '(E) UnusedEFO: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_MinDrTau',             '(E) UnusedEFO: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_MinDrTau_ChrgEFO',     '(E) UnusedEFO: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_MinDrTau_NeutEFO',     '(E) UnusedEFO: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_Charge',              '(E) UnusedEFO with |#eta| > 2.5: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_E',                   '(E) UnusedEFO with |#eta| > 2.5: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_Et',                  '(E) UnusedEFO with |#eta| > 2.5: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_Eta',                 '(E) UnusedEFO with |#eta| > 2.5: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_Phi',                 '(E) UnusedEFO with |#eta| > 2.5: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_MinDrTau',            '(E) UnusedEFO with |#eta| > 2.5: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_MinDrTau_ChrgEFO',    '(E) UnusedEFO with |#eta| > 2.5: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_UnusedEFO_OutOfInDet_MinDrTau_NeutEFO',    '(E) UnusedEFO with |#eta| > 2.5: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_Charge',               '(E) VetoedEFO: Charge',     7, -3.5, 3.5]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_E',                    '(E) VetoedEFO: E',          300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_Et',                   '(E) VetoedEFO: Et',         300, -5000, 25000]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_Eta',                  '(E) VetoedEFO: Eta',        100, -5.0, 5.0]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_Phi',                  '(E) VetoedEFO: Phi',        64, -3.2, 3.2]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_MinDrTau',             '(E) VetoedEFO: MinDrToTau', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_MinDrTau_ChrgEFO',     '(E) VetoedEFO: MinDrToTau (EFO^{#pm})', 400, 0.0, 8.0]]
-    RunTimeHisto_List += [['(E)Usage_VetoedEFO_MinDrTau_NeutEFO',     '(E) VetoedEFO: MinDrToTau (EFO^{0})', 400, 0.0, 8.0]]
-    
-    ###########################################
-    # SPECIAL RUNTIME VARIABLES (i.e. once for all efos in event, or once for every EFO<->Track combination
-    #
-    #
-    
-    
-    return RunTimeHisto_List
-# end getRTHList
-
-def getRTH2DList():
-    
-    #NOTE: This variable must be filled with the TH2F information:
-    RunTimeHisto2D_List = []
-    
-    ###########################################
-    # CREATION OF HISTOGRAMS
-    #
-    # To create a new TH2F for the RunTime Monitoring, add this to the RunTimeHisto2D_List
-    #    RunTimeHisto2D_List += [['(A)variableX', '(A)variableY', 'xAxisTitle', 'yAxisTitle', nBinsX, MinX, MaxX, nBinsY, minY, MaxY]]
-    # where (A) is (G), (T) or (E).
-    #
-    # These histograms are filled automatically, if variableX and variableY have been added via Add...Variables like described above.
-    RunTimeHisto2D_List += [['(G)nEflowObjects_Total', '(G)nEflowObjects_Used', 'N(EFO) in event', 'N(EFO) used in seeds', 200, -0.5, 199.5, 200, -0.5, 199.5]]
-    
-    return RunTimeHisto2D_List
-#end getRTH2DList
-
-def configRunTimeHistos(   seedBuilder = None):
-    
-    if seedBuilder == None:
-        print("PanTau: RunTimeHistConfig.py: No seedBuilder given! Not adding any RunTimeHists!")
-        return
-    # end if
-    
-    ###########################################
-    # 1 DIMENSIONAL HISTOGRAMS
-    # create the lists/vectors to be passed to the seedbuilder
-    #print("RunTimeHistConfig.py: Gathering information about one dimenstional RunTimeHistograms...")
-    HistNames       = []
-    HistAxisTitle   = []
-    HistNBins       = []
-    HistMinBins     = []
-    HistMaxBins     = []
-    
-    #include the file which contains the histogram information
-    RunTimeHisto_List = getRTHList()
-    
-    #process contents of file
-    for iRTH in RunTimeHisto_List:
-        #print("RunTimeHistConfig.py: Adding information: %s / %s / %d / %d / %d" % (iRTH[0], iRTH[1], iRTH[2], iRTH[3], iRTH[4]))
-        HistNames.append(iRTH[0])
-        HistAxisTitle.append(iRTH[1])
-        HistNBins.append(iRTH[2])
-        HistMinBins.append(iRTH[3])
-        HistMaxBins.append(iRTH[4])
-    #end for
-    
-    #let seedbuilder know about the RTHs
-    seedBuilder.RunTimeHists_Names      = HistNames
-    seedBuilder.RunTimeHists_AxisTitles = HistAxisTitle
-    seedBuilder.RunTimeHists_NBins      = HistNBins
-    seedBuilder.RunTimeHists_MinBin     = HistMinBins
-    seedBuilder.RunTimeHists_MaxBin     = HistMaxBins
-    
-    
-    ###########################################
-    # 2 DIMENSIONAL HISTOGRAMS
-    # create the lists/vectors to be passed to the seedbuilder
-    #print("RunTimeHistConfig.py: Gathering information about two dimenstional RunTimeHistograms...")
-    Hist2DVarX      = []
-    Hist2DVarY      = []
-    Hist2DTitleX    = []
-    Hist2DTitleY    = []
-    HistnBinsX      = []
-    HistMinBinsX    = []
-    HistMaxBinsX    = []
-    HistnBinsY      = []
-    HistMinBinsY    = []
-    HistMaxBinsY    = []
-    
-    #include the file which contains the histogram information
-    RunTimeHisto_List2D = getRTH2DList()
-    
-    #process contents of file
-    for iRTH2D in RunTimeHisto_List2D:
-        #print("RunTimeHistConfig.py ====> New 2D RunTimeHisto:")
-        #print("RunTimeHistConfig.py     Adding information for x (var, title, binning):  %s, %s  (%d: %d - %d)" % (iRTH2D[0], iRTH2D[2], iRTH2D[4], iRTH2D[5], iRTH2D[6]))
-        #print("RunTimeHistConfig.py     Adding information for x (var, title, binning):  %s, %s  (%d: %d - %d)" % (iRTH2D[1], iRTH2D[3], iRTH2D[7], iRTH2D[8], iRTH2D[9]))
-        
-        Hist2DVarX.append(iRTH2D[0])
-        Hist2DVarY.append(iRTH2D[1])
-        Hist2DTitleX.append(iRTH2D[2])
-        Hist2DTitleY.append(iRTH2D[3])
-        
-        HistnBinsX.append(iRTH2D[4])
-        HistMinBinsX.append(iRTH2D[5])
-        HistMaxBinsX.append(iRTH2D[6])
-        
-        HistnBinsY.append(iRTH2D[7])
-        HistMinBinsY.append(iRTH2D[8])
-        HistMaxBinsY.append(iRTH2D[9])
-    #end for
-    
-    #let seedbuilder know about the RTHs
-    #seedBuilder.RunTimeHists_Names      = HistNames
-    #seedBuilder.RunTimeHists_AxisTitles = HistAxisTitle
-    #seedBuilder.RunTimeHists_NBins      = HistNBins
-    #seedBuilder.RunTimeHists_MinBin     = HistMinBins
-    #seedBuilder.RunTimeHists_MaxBin     = HistMaxBins
-    
-    return
-#end configRunTimeHistos
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/python/__init__.py b/PhysicsAnalysis/PanTauAnalysis/python/__init__.py
deleted file mode 100644
index 2f050073a76f13e0c63eb10c5506f70e216fbec2..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/python/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-
-# PhysicsAnalysis/PanTauAnalysis/python/__init__.py
\ No newline at end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/root/RTHHistsGetter.C b/PhysicsAnalysis/PanTauAnalysis/root/RTHHistsGetter.C
deleted file mode 100644
index 77cb650fe9c6410caf23e6eea4cec90692ac883b..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/root/RTHHistsGetter.C
+++ /dev/null
@@ -1,860 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-#include <vector>
-
-#include "/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasUtils.C"
-#include "/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasLabels.C"
-
-//for easy usage, make input and outputfile global constants...
-
-// const TString   g_InFileName    = "PanTau_RunTimeHists_MC12_IsolatedIn12_5k.root";
-const TString   g_InFileName    = "PanTauHists.root";
-
-const TString   g_OutFileName   = "OrderedHists_" + g_InFileName;
-
-
-//constant names in the inputfile
-TFile*          g_InFile        = 0;
-const TString   g_TopLevelDir   = "RunTimeHistograms";
-const TString   g_EFO           = "EFOVariables";
-const TString   g_Event         = "EventVariables";
-const TString   g_Tau           = "TauVariables";
-
-
-//main histo access function
-TH1F* getHist(TString histName, TString Type);
-
-//helpers to easily get histo from inputfile
-TH1F* getEFOHist(TString histName);
-TH1F* getTauHist(TString histName);
-TH1F* getEventHist(TString histName);
-
-TCanvas*                singleEFOTypePlot(TString varName, double xMin = 0, double xMax = -1);
-TCanvas*                singleTauPlot(TString varName, double xMax = -1);
-
-void                    getBinValueTimesEntries(TH1F* hist, TCanvas* targetCan, double yPos);
-
-void                    storeCanvasList(std::vector<TCanvas*> canList, TFile* outfile);
-
-std::string             numToString(double number);
-
-
-void RTHHistsGetter() {
-    gROOT->LoadMacro("/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasStyle.C");
-    SetAtlasStyle();
-    
-    TFile* InputFile = TFile::Open(g_InFileName);
-//     TString InFileName  = "PanTau_RunTimeHists_macrotest.root";
-//     TString OutFileName = "OrderedHists_" + InFileName;
-
-    g_InFile = TFile::Open(g_InFileName);
-    TFile* OutputFile = new TFile(g_OutFileName, "RECREATE");
-    
-    
-    //! ==============================================================
-    //! Plots for EFO Types and usage
-    //! ==============================================================
-    
-    /// Overview plot for EFO types
-    TCanvas*    EFO_Usage_Overview_C = new TCanvas("EFO_Usage_Overview", "EFO_Usage_Overview");
-    TH1F*       EFO_Usage_Overview_H = getEFOHist("(E)Usage_EFOIsUsedXTimes");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(2, "Vetoed");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(3, "Unused");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(4, "Once");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(5, "Twice");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(6, "Three times");
-    EFO_Usage_Overview_H->GetXaxis()->SetBinLabel(7, "Four times");
-    EFO_Usage_Overview_H->GetXaxis()->SetTitle("EFO Usage");
-    EFO_Usage_Overview_H->Draw("text");
-    EFO_Usage_Overview_H->GetYaxis()->SetRangeUser(0, EFO_Usage_Overview_H->GetMaximum()*1.5);
-    EFO_Usage_Overview_C->Write();
-    
-    /// Overlay plots of 4 momentum and deltaR of different EFO Types
-    std::vector<TCanvas*>   EFOTypesOverlay;
-    EFOTypesOverlay.push_back(singleEFOTypePlot("E"));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("E", -1000, 10000));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("Et"));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("Et", -1000, 10000));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("Eta", -6, 6));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("Phi", -4, 4));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("MinDrTau", 0.0, 3.));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("MinDrTau_ChrgEFO", 0.0, 1.));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("MinDrTau_NeutEFO", 0.0, 1.));
-    EFOTypesOverlay.push_back(singleEFOTypePlot("Charge", -5, 5));
-    storeCanvasList(EFOTypesOverlay, OutputFile);
-    
-    
-    
-    //! ==============================================================
-    //! Plots for Tau properties
-    //! ==============================================================
-    
-    /// Plot for max delta R of tau-associated objects to tau
-    TCanvas*    Tau_ClusTrak_DeltaRMax_C = new TCanvas("Tau_ClusTrak_DeltaRMaxToTau", "Tau_ClusTrak_DeltaRMaxToTau");
-    Tau_ClusTrak_DeltaRMax_C->cd();
-    
-//     TH1F*       Tau_ClusTrak_DeltaRMax_TrakTau_H = getTauHist("(T)InSeedTrak_DeltaRMaxTauSeedTrackToTauSeed");
-//     
-//     Tau_ClusTrak_DeltaRMax_TrakTau_H->GetXaxis()->SetRangeUser(0.0, 1.0);
-//     Tau_ClusTrak_DeltaRMax_TrakTau_H->SetLineColor(kGreen+2);
-//     Tau_ClusTrak_DeltaRMax_TrakTau_H->Draw();
-//     
-//     TH1F*       Tau_ClusTrak_DeltaRMax_TrakJet_H = getTauHist("(T)InSeedTrak_DeltaRMaxTauSeedTrackToTauJet");
-//     Tau_ClusTrak_DeltaRMax_TrakJet_H->GetXaxis()->SetRangeUser(0.0, 1.0);
-//     Tau_ClusTrak_DeltaRMax_TrakJet_H->SetLineColor(kYellow+2);
-//     Tau_ClusTrak_DeltaRMax_TrakJet_H->Draw("same");
-//     
-//     TH1F*       Tau_ClusTrak_DeltaRMax_ClusJet_H = getTauHist("(T)InSeedClus_DeltaRMaxTauJetClusterToTauJet");
-//     Tau_ClusTrak_DeltaRMax_ClusJet_H->GetXaxis()->SetRangeUser(0., 1.);
-//     Tau_ClusTrak_DeltaRMax_ClusJet_H->SetLineColor(kBlue);
-//     Tau_ClusTrak_DeltaRMax_ClusJet_H->Draw("same");
-    
-    TH1F*       Tau_ClusTrak_DeltaRMax_ClusTau_H = getTauHist("(T)InSeedClus_DeltaRMaxTauJetClusterToTauSeed");
-    Tau_ClusTrak_DeltaRMax_ClusTau_H->GetXaxis()->SetTitle("#Delta R_{max}(associated clusters and tau)");
-    Tau_ClusTrak_DeltaRMax_ClusTau_H->SetLineColor(kRed);
-    Tau_ClusTrak_DeltaRMax_ClusTau_H->Draw();
-    
-    TLegend*    Tau_ClusTrak_DeltaRMax_L = new TLegend(0.5, 0.7, 0.90, 0.93);
-    Tau_ClusTrak_DeltaRMax_L->SetFillColor(0);
-    Tau_ClusTrak_DeltaRMax_L->SetFillStyle(0);
-    Tau_ClusTrak_DeltaRMax_L->SetBorderSize(0);
-//     Tau_ClusTrak_DeltaRMax_L->AddEntry(Tau_ClusTrak_DeltaRMax_ClusJet_H,       "#Delta R(Assoc. Clusters, #tau_{Jet})", "l");
-    Tau_ClusTrak_DeltaRMax_L->AddEntry(Tau_ClusTrak_DeltaRMax_ClusTau_H,       "#Delta R(Assoc. Clusters, #tau_{HLV})", "l");
-//     Tau_ClusTrak_DeltaRMax_L->AddEntry(Tau_ClusTrak_DeltaRMax_TrakJet_H,       "#Delta R(Assoc. Tracks, #tau_{Jet})", "l");
-//     Tau_ClusTrak_DeltaRMax_L->AddEntry(Tau_ClusTrak_DeltaRMax_TrakTau_H,       "#Delta R(Assoc. Tracks, #tau_{HLV})", "l");
-    Tau_ClusTrak_DeltaRMax_L->Draw();
-    
-    Tau_ClusTrak_DeltaRMax_C->Write();
-    
-    
-    
-    
-    
-    /// Plot for number of tau-associated objects out of collection region
-    TCanvas*    Tau_ClusTrak_NOutsideCone_C = new TCanvas("Tau_ClusTrak_NOutsideCollectionCone", "Tau_ClusTrak_NOutsideCollectionCone");
-    Tau_ClusTrak_NOutsideCone_C->cd();
-    
-//     TH1F*       Tau_ClusTrak_NOutsideCone_ClusJet_H = getTauHist("(T)InSeedClus_NClusterOutsideCollectionConeWrtJet");
-//     Tau_ClusTrak_NOutsideCone_ClusJet_H->SetLineColor(kBlue);
-    
-    TH1F*       Tau_ClusTrak_NOutsideCone_ClusTau_H = getTauHist("(T)InSeedClus_NClusterOutsideCollectionConeWrtSeed");
-    Tau_ClusTrak_NOutsideCone_ClusTau_H->SetLineColor(kRed);
-    
-//     TH1F*       Tau_ClusTrak_NOutsideCone_TrakTau_H = getTauHist("(T)InSeedTrak_NTracksOutsideCollectionConeWrtSeed");
-//     Tau_ClusTrak_NOutsideCone_TrakTau_H->SetLineColor(kGreen+2);
-    
-//     TH1F*       Tau_ClusTrak_NOutsideCone_TrakJet_H = getTauHist("(T)InSeedTrak_NTracksOutsideCollectionConeWrtJet");
-//     Tau_ClusTrak_NOutsideCone_TrakJet_H->SetLineColor(kYellow+2);
-    
-    Tau_ClusTrak_NOutsideCone_ClusTau_H->GetXaxis()->SetTitle("N(tracks/cluster) outside collection cone (of #Delta R = 0.4)");
-    Tau_ClusTrak_NOutsideCone_ClusTau_H->GetXaxis()->SetRangeUser(0., 10.);
-    Tau_ClusTrak_NOutsideCone_ClusTau_H->Draw();
-//     Tau_ClusTrak_NOutsideCone_TrakJet_H->Draw("same");
-//     Tau_ClusTrak_NOutsideCone_ClusJet_H->Draw("same");
-//     Tau_ClusTrak_NOutsideCone_ClusTau_H->Draw("same");
-    
-    TLegend*    Tau_ClusTrak_NOutsideCone_L = new TLegend(0.4, 0.7, 0.90, 0.93);
-    Tau_ClusTrak_NOutsideCone_L->SetFillColor(0);
-    Tau_ClusTrak_NOutsideCone_L->SetFillStyle(0);
-    Tau_ClusTrak_NOutsideCone_L->SetBorderSize(0);
-//     Tau_ClusTrak_NOutsideCone_L->AddEntry(Tau_ClusTrak_NOutsideCone_ClusJet_H,       "N(cluster) out of 0.4-Cone wrt. #tau_{Jet}", "l");
-    Tau_ClusTrak_NOutsideCone_L->AddEntry(Tau_ClusTrak_NOutsideCone_ClusTau_H,       "N(cluster) out of 0.4-Cone wrt. #tau_{HLV}", "l");
-//     Tau_ClusTrak_NOutsideCone_L->AddEntry(Tau_ClusTrak_NOutsideCone_TrakJet_H,       "N(tracks) out of 0.4-Cone wrt. #tau_{Jet}", "l");
-//     Tau_ClusTrak_NOutsideCone_L->AddEntry(Tau_ClusTrak_NOutsideCone_TrakTau_H,       "N(tracks) out of 0.4-Cone wrt. #tau_{HLV}", "l");
-    Tau_ClusTrak_NOutsideCone_L->Draw();
-    
-    //also calculate bin_xValue times bin_entries in this case, to get number of tracks / clusters outside collection cone
-//     getBinValueTimesEntries(Tau_ClusTrak_NOutsideCone_ClusJet_H, Tau_ClusTrak_NOutsideCone_C, 0.60);
-    getBinValueTimesEntries(Tau_ClusTrak_NOutsideCone_ClusTau_H, Tau_ClusTrak_NOutsideCone_C, 0.55);
-//     getBinValueTimesEntries(Tau_ClusTrak_NOutsideCone_TrakJet_H, Tau_ClusTrak_NOutsideCone_C, 0.50);
-//     getBinValueTimesEntries(Tau_ClusTrak_NOutsideCone_TrakTau_H, Tau_ClusTrak_NOutsideCone_C, 0.45);
-    
-    Tau_ClusTrak_NOutsideCone_C->Write();
-    
-    
-    /// Plot for number of tau-associated objects out of collection region
-//     TCanvas*    Tau_ClusTrak_NValidOutsideCone_C = new TCanvas("Tau_ClusTrak_NValidOutsideCollectionCone", "Tau_ClusTrak_NValidOutsideCollectionCone");
-//     Tau_ClusTrak_NValidOutsideCone_C->cd();
-//     
-//     TH1F*       Tau_ClusTrak_NValidOutsideCone_ClusJet_H = getTauHist("(T)InSeedClus_NClusterOutsideCollectionConeWrtJet");
-//     Tau_ClusTrak_NValidOutsideCone_ClusJet_H->SetLineColor(kBlue);
-//     
-//     TH1F*       Tau_ClusTrak_NValidOutsideCone_ClusTau_H = getTauHist("(T)InSeedClus_NClusterOutsideCollectionConeWrtSeed");
-//     Tau_ClusTrak_NValidOutsideCone_ClusTau_H->SetLineColor(kRed);
-//     
-//     TH1F*       Tau_ClusTrak_NValidOutsideCone_TrakTau_H = getTauHist("(T)InSeedTrak_NTracksOutsideCollectionConeWrtSeed");
-//     Tau_ClusTrak_NValidOutsideCone_TrakTau_H->SetLineColor(kGreen+2);
-//     
-//     Tau_ClusTrak_NValidOutsideCone_TrakTau_H->GetXaxis()->SetTitle("N(tracks/cluster) outside collection cone (of #Delta R = 0.4)");
-//     Tau_ClusTrak_NValidOutsideCone_TrakTau_H->GetXaxis()->SetRangeUser(0., 10.);
-//     Tau_ClusTrak_NValidOutsideCone_TrakTau_H->Draw();
-//     Tau_ClusTrak_NValidOutsideCone_ClusTau_H->Draw("same");
-//     Tau_ClusTrak_NValidOutsideCone_ClusJet_H->Draw("same");
-//     
-//     TLegend*    Tau_ClusTrak_NValidOutsideCone_L = new TLegend(0.4, 0.7, 0.90, 0.93);
-//     Tau_ClusTrak_NValidOutsideCone_L->SetFillColor(0);
-//     Tau_ClusTrak_NValidOutsideCone_L->SetFillStyle(0);
-//     Tau_ClusTrak_NValidOutsideCone_L->SetBorderSize(0);
-//     Tau_ClusTrak_NValidOutsideCone_L->AddEntry(Tau_ClusTrak_NValidOutsideCone_ClusJet_H,    "N(valid cluster) out of 0.4-Cone wrt. #tau_{Jet}", "l");
-//     Tau_ClusTrak_NValidOutsideCone_L->AddEntry(Tau_ClusTrak_NValidOutsideCone_ClusTau_H,    "N(valid cluster) out of 0.4-Cone wrt. #tau_{HLV}", "l");
-//     Tau_ClusTrak_NValidOutsideCone_L->AddEntry(Tau_ClusTrak_NValidOutsideCone_TrakTau_H,    "N(tracks) out of 0.4-Cone wrt. #tau_{HLV}", "l");
-//     Tau_ClusTrak_NValidOutsideCone_L->Draw();
-//     
-//     //also calculate bin_xValue times bin_entries in this case, to get number of tracks / clusters outside collection cone
-//     getBinValueTimesEntries(Tau_ClusTrak_NValidOutsideCone_ClusJet_H, Tau_ClusTrak_NValidOutsideCone_C, 0.60);
-//     getBinValueTimesEntries(Tau_ClusTrak_NValidOutsideCone_ClusTau_H, Tau_ClusTrak_NValidOutsideCone_C, 0.55);
-//     getBinValueTimesEntries(Tau_ClusTrak_NValidOutsideCone_TrakTau_H, Tau_ClusTrak_NValidOutsideCone_C, 0.50);
-    
-    Tau_ClusTrak_NOutsideCone_C->Write();
-    
-    
-    /// Plot for numTrack in input seeds
-    TCanvas*    Tau_NumTrack_C  = new TCanvas("Tau_NumTrack", "Tau_NumTrack");
-    Tau_NumTrack_C->cd();
-    
-    TH1F*   Tau_NumTrack_All_H = getTauHist("(T)InSeed_numTrackAll");
-    Tau_NumTrack_All_H->GetXaxis()->SetRangeUser(-0.5, 15.5);
-    Tau_NumTrack_All_H->GetXaxis()->SetTitle("numTrack of tauRec tau");
-    Tau_NumTrack_All_H->SetLineColor(kBlack);
-    Tau_NumTrack_All_H->SetLineStyle(2);
-    Tau_NumTrack_All_H->SetLineWidth(2);
-    Tau_NumTrack_All_H->Draw();
-    
-    TH1F*   Tau_NumTrack_Val_H = getTauHist("(T)InSeed_numTrackValid");
-    Tau_NumTrack_Val_H->SetLineColor(kGreen+2);
-    Tau_NumTrack_Val_H->Draw("same");
-    
-    TLegend*    Tau_NumTrack_L = new TLegend(0.3, 0.8, 0.99, 0.93);
-    Tau_NumTrack_L->SetFillColor(0);
-    Tau_NumTrack_L->SetFillStyle(0);
-    Tau_NumTrack_L->SetBorderSize(0);
-    Tau_NumTrack_L->AddEntry(Tau_NumTrack_All_H,       "All tauRec candidates", "l");
-    Tau_NumTrack_L->AddEntry(Tau_NumTrack_Val_H,       "tauRec candidates used as seed", "l");
-    Tau_NumTrack_L->Draw();
-    
-    int nTotalTauRec    =   Tau_NumTrack_All_H->GetEntries();
-    int nValidTauRec    =   Tau_NumTrack_All_H->GetBinContent(2)
-                        +   Tau_NumTrack_All_H->GetBinContent(3)
-                        +   Tau_NumTrack_All_H->GetBinContent(4)
-                        +   Tau_NumTrack_All_H->GetBinContent(5)
-                        +   Tau_NumTrack_All_H->GetBinContent(6);
-    int nInvalidTauRec  =   Tau_NumTrack_All_H->GetEntries() - nValidTauRec;
-    
-    std::string nTotalauStr     = "Total    TauRecs: " + numToString(nTotalTauRec);
-    std::string nValidTauStr    = "Valid    TauRecs: " + numToString(nValidTauRec);
-    std::string nInvalidTauStr  = "Invalid TauRecs: " + numToString(nInvalidTauRec);
-    
-    TLatex      Tau_NumTrack_all_T;
-    Tau_NumTrack_all_T.SetNDC();
-    Tau_NumTrack_all_T.DrawLatex(0.5, 0.65, nTotalauStr.c_str());
-    
-    TLatex      Tau_NumTrack_val_T;
-    Tau_NumTrack_val_T.SetNDC();
-    Tau_NumTrack_val_T.DrawLatex(0.5, 0.58, nValidTauStr.c_str());
-    
-    TLatex      Tau_NumTrack_inv_T;
-    Tau_NumTrack_inv_T.SetNDC();
-    Tau_NumTrack_inv_T.DrawLatex(0.5, 0.53, nInvalidTauStr.c_str());
-    
-    Tau_NumTrack_C->Write();
-    
-    
-    /// Plot for Seed is valid
-    TCanvas*    Tau_SeedValid_C  = new TCanvas("Seed_IsValid", "Seed_IsValid");
-    Tau_SeedValid_C->cd();
-    
-    TH1F*       Tau_SeedValid_H = getTauHist("(T)InSeed_IsValid");
-    Tau_SeedValid_H->GetXaxis()->SetTitle("Input tauRec candidate is valid");
-    Tau_SeedValid_H->GetXaxis()->SetBinLabel(2, "Invalid");
-    Tau_SeedValid_H->GetXaxis()->SetBinLabel(3, "Valid");
-    Tau_SeedValid_H->Draw("text");
-    Tau_SeedValid_H->GetYaxis()->SetRangeUser(0., Tau_SeedValid_H->GetMaximum()*1.5);
-
-    Tau_SeedValid_C->Write();
-    
-    
-    /// Plot for cluster Delta R in tauRec seed
-    TCanvas*    Tau_ClusterDeltaR_C  = new TCanvas("Seed_ClusterDeltaR", "Seed_ClusterDeltaR");
-    Tau_ClusterDeltaR_C->cd();
-    
-    TH1F*       Tau_ClusterDeltaR_H = getTauHist("(T)InSeedClus_DeltaRTauJetClusterToTauSeed");
-    Tau_ClusterDeltaR_H->GetXaxis()->SetTitle("#Delta R(#tau^{jet}_{cluster i}, #tau^{seed})");
-    Tau_ClusterDeltaR_H->GetXaxis()->SetRangeUser(0.0, 0.7);
-    Tau_ClusterDeltaR_H->Draw();
-    Tau_ClusterDeltaR_H->GetYaxis()->SetRangeUser(0., Tau_ClusterDeltaR_H->GetMaximum()*1.2);
-    
-    double clusterIn04  = 0.;
-    double clusterOut04 = 0.;
-    for(int iClusBin=0; iClusBin<Tau_ClusterDeltaR_H->GetNbinsX(); iClusBin++) {
-        double binCenter = Tau_ClusterDeltaR_H->GetBinCenter(iClusBin);
-        double binValue  = Tau_ClusterDeltaR_H->GetBinContent(iClusBin);
-        double* clusterLink = 0;
-        if(binCenter<=0.4) clusterLink = &clusterIn04;
-        if(binCenter>0.4) clusterLink = &clusterOut04;
-        *clusterLink += binValue;
-    }
-    
-    std::string clusterInStr    = "Cluster in  0.4: " + numToString(clusterIn04);
-    std::string clusterOutStr   = "Cluster out 0.4: " + numToString(clusterOut04);
-    
-    TLatex clusIn;
-    clusIn.SetNDC();
-    clusIn.DrawLatex(0.6, 0.8, clusterInStr.c_str());
-    
-    TLatex clusOut;
-    clusOut.SetNDC();
-    clusOut.DrawLatex(0.6, 0.74, clusterOutStr.c_str());
-    
-    Tau_ClusterDeltaR_C->Write();
-    
-    
-    /// Plots comparing seeds with valid and invalid numTracks
-    std::vector<TCanvas*> TauSeedsOverlay;
-    TauSeedsOverlay.push_back( singleTauPlot("AssociatedEFOs") );
-    TauSeedsOverlay.push_back( singleTauPlot("AssociatedNeutralEFOs") );
-    TauSeedsOverlay.push_back( singleTauPlot("AssociatedChargedEFOs") );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToClosestEFO_NoEFOs", 4.) );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToClosestChrgEFO_NoEFOs", 4.) );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToClosestNeutEFO_NoEFOs", 4.) );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToFarestAssocEFO", 1.) );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToFarestAssocChrgEFO", 1.) );
-    TauSeedsOverlay.push_back( singleTauPlot("DeltaRSeedToFarestAssocNeutEFO", 1.) );
-    storeCanvasList(TauSeedsOverlay, OutputFile);
-    
-    
-    //! ==============================================================
-    //! Plots for Event properties
-    //! ==============================================================
-    
-    
-    /// EFO Multiplicities
-//     TCanvas*    Event_EFO_Multiplicity_C  =   new TCanvas("Event_EFO_Multiplicity", "Event_EFO_Multiplicity");
-//     Event_EFO_Multiplicity_C->cd();
-//     
-//     double Event_EFO_Multiplicity_yMax = 0;
-//     TH1F*   Event_EFO_Multiplicity_Cont = getEventHist("(G)Number_EFOsInEFOContainer");
-//     Event_EFO_Multiplicity_Cont->GetXaxis()->SetRangeUser(0.0, 100.);
-//     Event_EFO_Multiplicity_Cont->GetXaxis()->SetTitle("Number of eflowObjects");
-//     Event_EFO_Multiplicity_Cont->SetLineColor(kBlack);
-//     Event_EFO_Multiplicity_Cont->SetLineWidth(2);
-//     Event_EFO_Multiplicity_Cont->Draw();
-//     
-//     TH1F*   Event_EFO_Multiplicity_Core = getEventHist("(G)Number_Used_EFOs_Core");
-//     Event_EFO_Multiplicity_Core->SetLineColor(kBlue-4);
-//     Event_EFO_Multiplicity_Core->Draw("same");
-//     
-//     TH1F*   Event_EFO_Multiplicity_Sum  = getEventHist("(G)Number_Used_EFOs_Sum");
-//     Event_EFO_Multiplicity_Sum->SetLineColor(kRed);
-//     Event_EFO_Multiplicity_Sum->Draw("same");
-//     
-//     TLegend*    Event_EFO_Multiplicity_L = new TLegend(0.3, 0.8, 0.99, 0.93);
-//     Event_EFO_Multiplicity_L->SetFillColor(0);
-//     Event_EFO_Multiplicity_L->SetFillStyle(0);
-//     Event_EFO_Multiplicity_L->SetBorderSize(0);
-//     Event_EFO_Multiplicity_L->AddEntry(Event_EFO_Multiplicity_Cont, "EFOs in container", "l");
-//     Event_EFO_Multiplicity_L->AddEntry(Event_EFO_Multiplicity_Core, "EFOs used in core region", "l");
-//     Event_EFO_Multiplicity_L->AddEntry(Event_EFO_Multiplicity_Sum,  "EFOs used in sum region", "l");
-//     Event_EFO_Multiplicity_L->Draw();
-//     
-//     if(Event_EFO_Multiplicity_Cont->GetMaximum() > Event_EFO_Multiplicity_yMax) Event_EFO_Multiplicity_yMax = Event_EFO_Multiplicity_Cont->GetMaximum();
-//     if(Event_EFO_Multiplicity_Core->GetMaximum() > Event_EFO_Multiplicity_yMax) Event_EFO_Multiplicity_yMax = Event_EFO_Multiplicity_Core->GetMaximum();
-//     if(Event_EFO_Multiplicity_Sum->GetMaximum() > Event_EFO_Multiplicity_yMax) Event_EFO_Multiplicity_yMax = Event_EFO_Multiplicity_Sum->GetMaximum();
-//     Event_EFO_Multiplicity_Cont->GetYaxis()->SetRangeUser(0.0, Event_EFO_Multiplicity_yMax*1.2);
-//     
-//     Event_EFO_Multiplicity_C->Write();
-    
-    
-    /// Input and output seeds
-    TCanvas*    Event_InOutSeeds_C = new TCanvas("Event_InOutSeeds", "Event_InOutSeeds");
-    Event_InOutSeeds_C->cd();
-    
-    double Event_InOutSeeds_yMax = 0.0;
-    TH1F*   Event_InOutSeeds_Bad = getEventHist("(G)Number_BadSeeds");
-    Event_InOutSeeds_Bad->GetXaxis()->SetTitle("Number of Seeds");
-    Event_InOutSeeds_Bad->GetXaxis()->SetRangeUser(-0.5, 19.5);
-    Event_InOutSeeds_Bad->SetLineColor(kRed);
-    Event_InOutSeeds_Bad->SetLineWidth(1);
-    Event_InOutSeeds_Bad->Draw();
-    
-    TH1F*   Event_InOutSeeds_Good = getEventHist("(G)Number_GoodSeeds");
-    Event_InOutSeeds_Good->SetLineColor(kGreen+2);
-    Event_InOutSeeds_Good->Draw("same");
-    
-    TH1F*   Event_InOutSeeds_Input = getEventHist("(G)Number_InputSeeds");
-    Event_InOutSeeds_Input->SetLineColor(kBlue);
-    Event_InOutSeeds_Input->SetLineWidth(2);
-    Event_InOutSeeds_Input->SetLineStyle(1);
-    Event_InOutSeeds_Input->Draw("same");
-    
-    TH1F*   Event_InOutSeeds_Output = getEventHist("(G)Number_OutputSeeds");
-    Event_InOutSeeds_Output->SetLineColor(kMagenta);
-    Event_InOutSeeds_Output->SetLineWidth(2);
-    Event_InOutSeeds_Output->SetLineStyle(2);
-    Event_InOutSeeds_Output->Draw("same");
-    
-    TLegend*    Event_InOutSeeds_L = new TLegend(0.6, 0.7, 0.99, 0.93);
-    Event_InOutSeeds_L->SetFillColor(0);
-    Event_InOutSeeds_L->SetFillStyle(0);
-    Event_InOutSeeds_L->SetBorderSize(0);
-    Event_InOutSeeds_L->AddEntry(Event_InOutSeeds_Bad,      "All bad seeds", "l");
-    Event_InOutSeeds_L->AddEntry(Event_InOutSeeds_Good,     "All good seeds", "l");
-    Event_InOutSeeds_L->AddEntry(Event_InOutSeeds_Input,    "Inputseeds", "l");
-    Event_InOutSeeds_L->AddEntry(Event_InOutSeeds_Output,   "Outputseeds", "l");
-    Event_InOutSeeds_L->Draw();
-    
-    //put number of bad tauRecs from track requirement
-    int nBadTotal = 0;
-    for(int iBin=1; iBin<Event_InOutSeeds_Bad->GetNbinsX(); iBin++) {
-        double binCenter = Event_InOutSeeds_Bad->GetBinCenter(iBin);
-        double binValue  = Event_InOutSeeds_Bad->GetBinContent(iBin);
-        double toAdd = binCenter * binValue;
-        nBadTotal += toAdd;
-    }
-    std::string nBadSeedsStr  = "Bad seeds in total . . . . .: " + numToString(nBadTotal);
-    std::string nInvalidTauTrkStr  = "N(#tau_{tauRec}) bad numTrack: " + numToString(nInvalidTauRec);
-    
-    TLatex      Tau_NumTrack_all_T1;
-    Tau_NumTrack_all_T.SetNDC();
-    Tau_NumTrack_all_T.DrawLatex(0.4, 0.60, nBadSeedsStr.c_str());
-    
-    TLatex      Tau_NumTrack_all_T2;
-    Tau_NumTrack_all_T.SetNDC();
-    Tau_NumTrack_all_T.DrawLatex(0.4, 0.54, nInvalidTauTrkStr.c_str());
-    
-    if(Event_InOutSeeds_Bad->GetMaximum() > Event_InOutSeeds_yMax)
-        Event_InOutSeeds_yMax = Event_InOutSeeds_Bad->GetMaximum();
-    if(Event_InOutSeeds_Good->GetMaximum() > Event_InOutSeeds_yMax)
-        Event_InOutSeeds_yMax = Event_InOutSeeds_Good->GetMaximum();
-    if(Event_InOutSeeds_Input->GetMaximum() > Event_InOutSeeds_yMax)
-        Event_InOutSeeds_yMax = Event_InOutSeeds_Input->GetMaximum();
-    if(Event_InOutSeeds_Output->GetMaximum() > Event_InOutSeeds_yMax)
-        Event_InOutSeeds_yMax = Event_InOutSeeds_Output->GetMaximum();
-    Event_InOutSeeds_Bad->GetYaxis()->SetRangeUser(0.0, Event_InOutSeeds_yMax*1.2);
-    
-    Event_InOutSeeds_C->Write();
-    
-    
-    /// Bad Seeds composition
-//     TCanvas*    Event_BadSeeds_Composition_C = new TCanvas("Event_BadSeeds_Composition", "Event_BadSeeds_Composition");
-//     Event_BadSeeds_Composition_C->cd();
-//     
-//     double Event_BadSeeds_Composition_yMax = 0.0;
-//     TH1F*   Event_BadSeeds_Composition_All = getEventHist("(G)Number_BadSeeds");
-//     Event_BadSeeds_Composition_All->GetXaxis()->SetTitle("Number of BadSeeds (not passed to ModeID)");
-//     Event_BadSeeds_Composition_All->GetXaxis()->SetRangeUser(-0.5, 19.5);
-//     Event_BadSeeds_Composition_All->SetLineColor(kBlack);
-//     Event_BadSeeds_Composition_All->SetLineWidth(2);
-//     Event_BadSeeds_Composition_All->SetLineStyle(2);
-//     Event_BadSeeds_Composition_All->Draw();
-//     
-//     TH1F*   Event_BadSeeds_Composition_Presel = getEventHist("(G)Number_BadSeeds_FailPresel");
-//     Event_BadSeeds_Composition_Presel->SetLineColor(kGreen+2);
-//     Event_BadSeeds_Composition_Presel->Draw("same");
-//     
-//     TH1F*   Event_BadSeeds_Composition_Invalid = getEventHist("(G)Number_BadSeeds_Invalid");
-//     Event_BadSeeds_Composition_Invalid->SetLineColor(kRed);
-//     Event_BadSeeds_Composition_Invalid->Draw("same");
-//     
-//     TLegend*    Event_BadSeeds_Composition_L = new TLegend(0.3, 0.8, 0.99, 0.93);
-//     Event_BadSeeds_Composition_L->SetFillColor(0);
-//     Event_BadSeeds_Composition_L->SetFillStyle(0);
-//     Event_BadSeeds_Composition_L->SetBorderSize(0);
-//     Event_BadSeeds_Composition_L->AddEntry(Event_BadSeeds_Composition_All,      "All bad seeds", "l");
-//     Event_BadSeeds_Composition_L->AddEntry(Event_BadSeeds_Composition_Presel,   "Bad seeds due to preselection", "l");
-//     Event_BadSeeds_Composition_L->AddEntry(Event_BadSeeds_Composition_Invalid,  "Bad seeds due to technicalities", "l");
-//     Event_BadSeeds_Composition_L->Draw();
-//     
-//     if(Event_BadSeeds_Composition_All->GetMaximum() > Event_BadSeeds_Composition_yMax)
-//         Event_BadSeeds_Composition_yMax = Event_BadSeeds_Composition_All->GetMaximum();
-//     if(Event_BadSeeds_Composition_Presel->GetMaximum() > Event_BadSeeds_Composition_yMax)
-//         Event_BadSeeds_Composition_yMax = Event_BadSeeds_Composition_Presel->GetMaximum();
-//     if(Event_BadSeeds_Composition_Invalid->GetMaximum() > Event_BadSeeds_Composition_yMax)
-//         Event_BadSeeds_Composition_yMax = Event_BadSeeds_Composition_Invalid->GetMaximum();
-//     Event_BadSeeds_Composition_All->GetYaxis()->SetRangeUser(0.0, Event_BadSeeds_Composition_yMax*1.2);
-//     
-//     Event_BadSeeds_Composition_C->Write();
-    
-    
-    /// TauRecSeeds and AlTauRecInvalid, compared to nEvents without EFOs
-    TCanvas*    Event_AllTauRecInvalid_C = new TCanvas("Event_AllTauRecInvalid", "Event_AllTauRecInvalid");
-    Event_AllTauRecInvalid_C->cd();
-    
-    TH1F*   Event_AllTauRecInvalidAll = getEventHist("(G)Number_TausInTauContainer");
-    Event_AllTauRecInvalidAll->GetXaxis()->SetTitle("Multiplicity");
-    Event_AllTauRecInvalidAll->GetXaxis()->SetRangeUser(-0.5, 19.5);
-    Event_AllTauRecInvalidAll->SetLineColor(kBlack);
-    Event_AllTauRecInvalidAll->SetLineWidth(2);
-    Event_AllTauRecInvalidAll->Draw();
-    
-    TH1F*   Event_AllTauRecInvalidEFO = getEventHist("(G)Number_EFOsInEFOContainer");
-    Event_AllTauRecInvalidEFO->SetLineColor(kBlue-3);
-    Event_AllTauRecInvalidEFO->SetLineWidth(2);
-    Event_AllTauRecInvalidEFO->Draw("same");
-    
-    TH1F*   Event_AllTauRecInvalidInvalids = getEventHist("(G)EventsWithInvalidTauSeedsOnly");
-    Event_AllTauRecInvalidInvalids->SetLineColor(kRed);
-    Event_AllTauRecInvalidInvalids->SetFillColor(kRed+1);
-    Event_AllTauRecInvalidInvalids->SetFillStyle(3254);
-    Event_AllTauRecInvalidInvalids->Draw("same");
-    
-    double nWithoutEFO         = Event_AllTauRecInvalidEFO->GetBinContent(1);
-    double nAllTauRecInvalid   = Event_AllTauRecInvalidInvalids->GetEntries();
-    
-    std::string EventsWithNoEFOs = "no EFOs . . . . . . .: " + numToString(nWithoutEFO);
-    std::string EventsWithAllInv = "invalid #tau_{tauRec} only: " + numToString(nAllTauRecInvalid);
-    
-    TLatex Event_AllTauRecInvalid_Text;
-    Event_AllTauRecInvalid_Text.SetNDC();
-    Event_AllTauRecInvalid_Text.DrawLatex(0.45, 0.55, "Events with...");
-    
-    TLatex Event_AllTauRecInvalid_TEFOs;
-    Event_AllTauRecInvalid_TEFOs.SetNDC();
-    Event_AllTauRecInvalid_TEFOs.DrawLatex(0.48, 0.49, EventsWithNoEFOs.c_str());
-    
-    TLatex Event_AllTauRecInvalid_TTauRec;
-    Event_AllTauRecInvalid_TTauRec.SetNDC();
-    Event_AllTauRecInvalid_TTauRec.DrawLatex(0.48, 0.43, EventsWithAllInv.c_str());
-    
-    TLegend*    Event_AllTauRecInvalidL = new TLegend(0.3, 0.7, 0.99, 0.93);
-    Event_AllTauRecInvalidL->SetFillColor(0);
-    Event_AllTauRecInvalidL->SetFillStyle(0);
-    Event_AllTauRecInvalidL->SetBorderSize(0);
-    Event_AllTauRecInvalidL->AddEntry(Event_AllTauRecInvalidAll,        "Taus in TauRec Container", "l");
-    Event_AllTauRecInvalidL->AddEntry(Event_AllTauRecInvalidEFO,        "EFOs in eflowRec Container", "l");
-    Event_AllTauRecInvalidL->AddEntry(Event_AllTauRecInvalidInvalids,   "All Taus have bad numTrack", "fl");
-    Event_AllTauRecInvalidL->Draw();
-    
-    double yMaxHistogram = 0.5;
-    if(Event_AllTauRecInvalidAll->GetMaximum() > yMaxHistogram)
-        yMaxHistogram = Event_AllTauRecInvalidAll->GetMaximum();
-    if(Event_AllTauRecInvalidEFO->GetMaximum() > yMaxHistogram)
-        yMaxHistogram = Event_AllTauRecInvalidEFO->GetMaximum();
-    if(Event_AllTauRecInvalidInvalids->GetMaximum() > yMaxHistogram)
-        yMaxHistogram = Event_AllTauRecInvalidInvalids->GetMaximum();
-    Event_AllTauRecInvalidAll->GetYaxis()->SetRangeUser(0.0, yMaxHistogram*1.2);
-    
-    Event_AllTauRecInvalid_C->Write();
-    
-    
-    
-    /// TauRecSeeds and AlTauRecInvalid, compared to nEvents without EFOs
-    TCanvas*    Event_UnusedEFOAndCluster_C = new TCanvas("Event_UnusedEFOAndCluster", "Event_UnusedEFOAndCluster");
-    Event_UnusedEFOAndCluster_C->cd();
-    
-    TH1F*   Event_UnusedEFOAndCluster = getEventHist("(G)Usage_UnusedEFO_nOutClusters-nUnused");
-    Event_UnusedEFOAndCluster->GetXaxis()->SetTitle("N(clusters outside 0.4 wrt tauSeed) - N(unused EFOs)");
-    Event_UnusedEFOAndCluster->GetXaxis()->SetRangeUser(-5.5, 24.5);
-    Event_UnusedEFOAndCluster->SetLineColor(kBlack);
-    Event_UnusedEFOAndCluster->SetLineWidth(2);
-    Event_UnusedEFOAndCluster->Draw();
-    
-    double nLeft        = 0.0;Event_UnusedEFOAndCluster->GetBinContent(1);
-    double nMiddle      = 0.0;Event_UnusedEFOAndCluster->GetEntries();
-    double nRight       = 0.0;Event_UnusedEFOAndCluster->GetEntries();
-    
-    for(int iBin=0; iBin<Event_UnusedEFOAndCluster->GetNbinsX(); iBin++) {
-        double binCenter = Event_UnusedEFOAndCluster->GetBinCenter(iBin);
-        double binValue = Event_UnusedEFOAndCluster->GetBinContent(iBin);
-        
-        double* counterLink = 0;
-        if(binCenter < 0)   counterLink = &nLeft;
-        if(binCenter == 0)  counterLink = &nMiddle;
-        if(binCenter > 0)   counterLink = &nRight;
-        
-        *counterLink += binValue;
-    }
-    
-    std::string nLeftStr    = "N(unused) > N(outcluster): " + numToString(nLeft);
-    std::string nMiddleStr  = "N(unused) = N(outcluster): " + numToString(nMiddle);
-    std::string nRightStr   = "N(unused) < N(outcluster): " + numToString(nRight);
-    
-    TLatex Event_UnusedEFOAndCluster_TextLeft;
-    Event_UnusedEFOAndCluster_TextLeft.SetNDC();
-    Event_UnusedEFOAndCluster_TextLeft.DrawLatex(0.45, 0.85, nLeftStr.c_str());
-    
-    TLatex Event_UnusedEFOAndCluster_TextMiddle;
-    Event_UnusedEFOAndCluster_TextMiddle.SetNDC();
-    Event_UnusedEFOAndCluster_TextMiddle.DrawLatex(0.45, 0.79, nMiddleStr.c_str());
-    
-    TLatex Event_UnusedEFOAndCluster_TextRight;
-    Event_UnusedEFOAndCluster_TextRight.SetNDC();
-    Event_UnusedEFOAndCluster_TextRight.DrawLatex(0.45, 0.73, nRightStr.c_str());
-    
-    Event_UnusedEFOAndCluster_C->Write();
-    
-    
-    
-    
-    
-    /// DeltaR of unused EFOs in detail
-    TCanvas*    Event_UnusedEFO_DeltaRDetail_C = new TCanvas("Event_UnusedEFO_DeltaRDetail", "Event_UnusedEFO_DeltaRDetail");
-    Event_UnusedEFO_DeltaRDetail_C->cd();
-    
-    TH1F*   Event_UnusedEFO_DeltaRDetail_All = getEventHist("(G)Usage_Unused_MinDrTau");
-    Event_UnusedEFO_DeltaRDetail_All->Rebin(2);
-    Event_UnusedEFO_DeltaRDetail_All->GetXaxis()->SetTitle("#Delta R_{min}(EFO_{unused}, #tau)");
-    Event_UnusedEFO_DeltaRDetail_All->GetXaxis()->SetRangeUser(0.35, 0.6);
-    Event_UnusedEFO_DeltaRDetail_All->SetLineColor(kBlack);
-    Event_UnusedEFO_DeltaRDetail_All->SetLineWidth(2);
-    Event_UnusedEFO_DeltaRDetail_All->SetLineStyle(2);
-    Event_UnusedEFO_DeltaRDetail_All->Draw();
-    
-    TH1F*   Event_UnusedEFO_DeltaRDetail_Less = getEventHist("(G)Usage_Unused_LessUnusedThanCluster_MinDrTau");
-    Event_UnusedEFO_DeltaRDetail_Less->Rebin(2);
-    Event_UnusedEFO_DeltaRDetail_Less->SetLineColor(kGreen+2);
-    Event_UnusedEFO_DeltaRDetail_Less->Draw("same");
-    
-    TH1F*   Event_UnusedEFO_DeltaRDetail_Equal = getEventHist("(G)Usage_Unused_EqualUnusedThanCluster_MinDrTau");
-    Event_UnusedEFO_DeltaRDetail_Equal->Rebin(2);
-    Event_UnusedEFO_DeltaRDetail_Equal->SetLineColor(kBlue-3);
-    Event_UnusedEFO_DeltaRDetail_Equal->Draw("same");
-    
-    TH1F*   Event_UnusedEFO_DeltaRDetail_More = getEventHist("(G)Usage_Unused_MoreUnusedThanCluster_MinDrTau");
-    Event_UnusedEFO_DeltaRDetail_More->Rebin(2);
-    Event_UnusedEFO_DeltaRDetail_More->SetLineColor(kRed);
-    Event_UnusedEFO_DeltaRDetail_More->SetFillColor(kRed);
-    Event_UnusedEFO_DeltaRDetail_More->SetFillStyle(3254);
-    Event_UnusedEFO_DeltaRDetail_More->Draw("same");
-    
-    TLegend*    Event_UnusedEFO_DeltaRDetail_L = new TLegend(0.4, 0.73, 0.99, 0.93);
-    Event_UnusedEFO_DeltaRDetail_L->SetFillColor(0);
-    Event_UnusedEFO_DeltaRDetail_L->SetFillStyle(0);
-    Event_UnusedEFO_DeltaRDetail_L->SetBorderSize(0);
-    Event_UnusedEFO_DeltaRDetail_L->AddEntry(Event_UnusedEFO_DeltaRDetail_All,      "All unused EFOs", "l");
-    Event_UnusedEFO_DeltaRDetail_L->AddEntry(Event_UnusedEFO_DeltaRDetail_Less,     "N(Unused) < N(Outcluster)", "l");
-    Event_UnusedEFO_DeltaRDetail_L->AddEntry(Event_UnusedEFO_DeltaRDetail_Equal,    "N(Unused) = N(Outcluster)", "l");
-    Event_UnusedEFO_DeltaRDetail_L->AddEntry(Event_UnusedEFO_DeltaRDetail_More,     "N(Unused) > N(Outcluster)", "fl");
-    Event_UnusedEFO_DeltaRDetail_L->Draw();
-    
-    Event_UnusedEFO_DeltaRDetail_All->GetYaxis()->SetRangeUser(0.001, Event_UnusedEFO_DeltaRDetail_All->GetMaximum()*20);
-    
-    Event_UnusedEFO_DeltaRDetail_C->SetLogy(1);
-    Event_UnusedEFO_DeltaRDetail_C->Write();
-    
-    
-    
-    
-    
-    OutputFile->Close();
-    delete OutputFile;
-    
-    InputFile->Close();
-    delete InputFile;
-    
-    return;
-}
-
-
-
-
-//! =====================================================================
-//! =====================================================================
-//! =====================================================================
-
-//!                  H E L P E R   F U N C T I O N S
-
-//! =====================================================================
-//! =====================================================================
-//! =====================================================================
-
-
-
-//main histo access function
-TH1F* getHist(TString histName, TString Type) {
-    TH1F* theHist = 0;
-    TString pathName = g_TopLevelDir + "/" + Type + "/";
-    std::cout << "(GetHist)\tTry to get histo from: " << pathName << histName << std::endl;
-    theHist = (TH1F*)g_InFile->Get(pathName + histName);
-    return theHist;
-}
-
-
-//helpers to easily get histo from inputfile
-TH1F* getEFOHist(TString histName) {
-    return getHist(histName, g_EFO);
-}
-
-TH1F* getTauHist(TString histName) {
-    return getHist(histName, g_Tau);
-}
-
-TH1F* getEventHist(TString histName) {
-    return getHist(histName, g_Event);
-}
-
-
-TCanvas*    singleEFOTypePlot(TString varName, double xMin, double xMax) {
-    TString canvasName = varName;
-    if(xMax != -1) canvasName += "_ModXAxis";
-    TCanvas*    can   = new TCanvas(canvasName, canvasName);
-    
-    
-    
-    TString xAxisTitle = "";
-    if(varName == "E")                  xAxisTitle = "Energy / MeV";
-    if(varName == "Et")                 xAxisTitle = "Transverse energy / MeV";
-    if(varName == "Eta")                xAxisTitle = "#eta";
-    if(varName == "Phi")                xAxisTitle = "#phi";
-    if(varName == "MinDrTau")           xAxisTitle = "#Delta R_{min}(EFO, #tau_{tauRec})";
-    if(varName == "MinDrTau_ChrgEFO")   xAxisTitle = "#Delta R_{min}(EFO^{#pm}, #tau_{tauRec})";
-    if(varName == "MinDrTau_NeutEFO")   xAxisTitle = "#Delta R_{min}(EFO^{0}, #tau_{tauRec})";
-    if(varName == "Charge")             xAxisTitle = "Charge / q_{e}";
-    
-    
-    
-    TH1F*       hist_All        = getEFOHist("(E)AllEFOs_" + varName);
-    if(xMax == -1) xMax = hist_All->GetXaxis()->GetXmax();
-    hist_All->GetXaxis()->SetRangeUser(xMin, xMax);
-    hist_All->GetXaxis()->SetTitle(xAxisTitle);
-    hist_All->SetLineColor(kBlack);
-    hist_All->SetLineWidth(2);
-    hist_All->SetLineStyle(2);
-    hist_All->Draw();
-    
-    double yMax = hist_All->GetMaximum()*1.2;
-    if(varName == "Charge") yMax = hist_All->GetMaximum()*20;
-    
-    hist_All->GetYaxis()->SetRangeUser(0.1, yMax);
-    hist_All->DrawCopy();
-    
-    TH1F*       hist_Vetoed     = getEFOHist("(E)Usage_VetoedEFO_" + varName);
-    hist_Vetoed->SetLineWidth(1);
-    hist_Vetoed->SetLineColor(kGreen+2);
-    hist_Vetoed->DrawCopy("same");
-    
-    TH1F*       hist_Unused     = getEFOHist("(E)Usage_UnusedEFO_" + varName);
-    hist_Unused->SetLineWidth(1);
-    hist_Unused->SetLineColor(kRed);
-    hist_Unused->DrawCopy("same");
-    
-    TH1F*       hist_Used       = getEFOHist("(E)Usage_UsedEFO_" + varName);
-    hist_Used->SetLineWidth(1);
-    hist_Used->SetLineColor(kBlue-7);
-    hist_Used->DrawCopy("same");
-    
-    TH1F*       hist_MultiUsed  = getEFOHist("(E)Usage_MultiUsedEFO_" + varName);
-    hist_MultiUsed->SetLineWidth(1);
-    hist_MultiUsed->SetLineColor(kYellow-2);
-    hist_MultiUsed->DrawCopy("same");
-    
-    if(varName == "Et" && xMax == -1) can->SetLogy(1);
-    if(varName == "E" && xMax == -1) can->SetLogy(1);
-    if(varName == "Charge") can->SetLogy(1);
-    
-    TLegend*    Legend = new TLegend(0.65, 0.6, 0.95, 0.93);
-    Legend->SetFillColor(0);
-    Legend->SetFillStyle(0);
-    Legend->SetBorderSize(0);
-    Legend->AddEntry(hist_All,          "All EFOs", "l");
-    Legend->AddEntry(hist_Vetoed,       "Vetoed EFOs", "l");
-    Legend->AddEntry(hist_Unused,       "Unused EFOs", "l");
-    Legend->AddEntry(hist_Used,         "Used EFOs", "l");
-    Legend->AddEntry(hist_MultiUsed,    "Multiused EFOs", "l");
-    Legend->Draw();
-    
-    return can;
-}
-
-
-
-TCanvas*                singleTauPlot(TString varName, double xMax) {
-    TString canvasName = varName;
-    if(xMax != -1) canvasName += "_ModXAxis";
-    TCanvas*    can   = new TCanvas(canvasName, canvasName);
-    
-    TString xAxisTitle = varName;
-    if(varName == "AssociatedEFOs")                     xAxisTitle = "Number of associated EFOs in tauRec seed";
-    if(varName == "AssociatedNeutralEFOs")              xAxisTitle = "Number of associated EFO^{0} in tauRec seed";
-    if(varName == "AssociatedChargedEFOs")              xAxisTitle = "Number of associated EFO^{#pm} in tauRec seed";
-    if(varName == "DeltaRSeedToClosestEFO_NoEFOs")      xAxisTitle = "In tauRec without EFOs: #Delta R of closest EFO";
-    if(varName == "DeltaRSeedToClosestChrgEFO_NoEFOs")  xAxisTitle = "In tauRec without EFOs: #Delta R of closest EFO^{#pm}";
-    if(varName == "DeltaRSeedToClosestNeutEFO_NoEFOs")  xAxisTitle = "In tauRec without EFOs: #Delta R of closest EFO^{0}";
-    if(varName == "DeltaRSeedToFarestAssocEFO")         xAxisTitle = "In tauRec with EFOs: #Delta R of farthest EFO";
-    if(varName == "DeltaRSeedToFarestAssocChrgEFO")     xAxisTitle = "In tauRec with EFOs: #Delta R of farthest EFO^{#pm}";
-    if(varName == "DeltaRSeedToFarestAssocNeutEFO")     xAxisTitle = "In tauRec with EFOs: #Delta R of farthest EFO^{0}";
-    
-    
-    TH1F* hist_All = getTauHist("(T)AllTauRec_" + varName);
-    hist_All->GetXaxis()->SetTitle(xAxisTitle);
-    if(xMax != -1) hist_All->GetXaxis()->SetRangeUser(hist_All->GetXaxis()->GetXmin(), xMax);
-    
-    double yMaxFactor = 1.3;
-    if(varName.Contains("Associated")) yMaxFactor = 10;
-    hist_All->GetYaxis()->SetRangeUser(0.1, hist_All->GetMaximum()*yMaxFactor);
-    hist_All->SetLineWidth(2);
-    hist_All->SetLineStyle(2);
-    hist_All->SetLineColor(kBlack);
-    hist_All->DrawCopy();
-    
-    TH1F* hist_Seed = getTauHist("(T)Seed_" + varName);
-    hist_Seed->SetLineColor(kBlue);
-    hist_Seed->DrawCopy("same");
-    
-    TH1F* hist_MultTrkTauRec = getTauHist("(T)MultTrkTauRec_" + varName);
-    hist_MultTrkTauRec->SetLineColor(kRed);
-    hist_MultTrkTauRec->DrawCopy("same");
-    
-    TLegend*    Legend = new TLegend(0.45, 0.70, 0.90, 0.93);
-    Legend->SetFillColor(0);
-    Legend->SetFillStyle(0);
-    Legend->SetBorderSize(0);
-    Legend->AddEntry(hist_All,              "#tau_{tauRec} with any numTrack", "l");
-    Legend->AddEntry(hist_MultTrkTauRec,    "#tau^{bad}_{tauRec} with numTrack not in [1;5]", "l");
-    Legend->AddEntry(hist_Seed,             "#tau^{good}_{tauRec} with numTrack in [1;5]", "l");
-    Legend->Draw();
-    
-    if(varName.Contains("Associated")) can->SetLogy(1);
-    
-    return can;
-}
-
-
-
-
-
-void                     getBinValueTimesEntries(TH1F* hist, TCanvas* targetCan, double yPos) {
-    int result = 0;
-//     std::cout << "(getBinValueTimesEntries)\thist called: " << hist->GetName() << std::endl; 
-    for(int iBin=1; iBin<hist->GetNbinsX(); iBin++) {
-        int BinValue    = hist->GetXaxis()->GetBinCenter(iBin);
-        int BinEntries  = hist->GetBinContent(iBin);
-        int Product     = BinValue * BinEntries;
-        result += Product;
-//         std::cout << "(getBinValueTimesEntries)\t\tBin, BinCenter: Entries => Product, SumSoFar: ";
-//         std::cout << iBin << ", " << BinValue << ": " << BinEntries << " => " << Product << ", " << result << std::endl;
-    }
-//     std::cout << "(getBinValueTimesEntries)\tReturning " << result << std::endl;
-    
-    targetCan->cd();
-    
-    std::string LatexString = "Outside 0.4: " + numToString(result);
-    
-    TLatex latex;
-    latex.SetNDC();
-    latex.SetTextColor(hist->GetLineColor());
-    latex.DrawLatex(0.50, yPos, LatexString.c_str());
-    
-    return;
-}
-
-
-
-
-
-void    storeCanvasList(std::vector<TCanvas*> canList, TFile* outfile) {
-    outfile->cd();
-    for(int iCan=0; iCan<canList.size(); iCan++) canList[iCan]->Write();
-    return;
-}
-
-
-std::string             numToString(double number) {
-    std::stringstream s;
-    s << number;
-    return s.str();
-}
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/root/dumpRTHContents.C b/PhysicsAnalysis/PanTauAnalysis/root/dumpRTHContents.C
deleted file mode 100644
index 62fde320e56cc020be5eab919b132adc0f05c2be..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/root/dumpRTHContents.C
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
-*/
-
-// #include <iostream>
-#include <vector>
-//#include <map>
-#include "TH1F.h"
-// #include "TString.h"
-// #include "TFile.h"
-// #include "TKey.h"
-// #include "TList.h"
-
-#include "/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasUtils.C"
-#include "/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasLabels.C"
-
-void ScanDirectory(TList* keyList, std::vector<TH1F*>* HistListToFill);
-
-
-void dumpRTHContents() {
-    gROOT->LoadMacro("/afs/cern.ch/user/l/limbach/ATLAS-Style/AtlasStyle.C");
-    SetAtlasStyle();
-    std::cout << "Setup..." << std::endl;
-    
-    TString InFile_NoVicinity   = "PanTau_RunTimeHists_NoVicinity.root";
-    TString InFile_DoVicinityP  = "PanTau_RunTimeHists_DoVicinityP0.4.root";
-    TString InFile_DoVicinityM  = "PanTau_RunTimeHists_DoVicinityM0.4.root";
-    
-    std::vector<TString>    Types;
-    Types.push_back("NoVic_");
-    Types.push_back("DoVicP_");
-    Types.push_back("DoVicM_");
-    
-    std::vector<int> LineColors;
-    LineColors.push_back(417);
-    LineColors.push_back(632);
-    LineColors.push_back(596);
-    
-    std::vector<int> LineWidths;
-    LineWidths.push_back(2);
-    LineWidths.push_back(2);
-    LineWidths.push_back(2);
-    
-    std::vector<int> LineStyles;
-    LineStyles.push_back(1);
-    LineStyles.push_back(1);
-    LineStyles.push_back(1);
-    
-    //For each inputfile, contains all histograms
-    std::vector<TH1F*> Histograms_NoVicinity;//    = std::vector<TH1F*>(0);
-    std::vector<TH1F*> Histograms_DoVicinityP;// = std::vector<TH1F*>(0);
-    std::vector<TH1F*> Histograms_DoVicinityM;// = std::vector<TH1F*>(0);
-    
-    std:vector<TFile*> OpenInputFiles;//           = std::vector< TFile* >(0);
-    OpenInputFiles.push_back( TFile::Open(InFile_NoVicinity) );
-    OpenInputFiles.push_back( TFile::Open(InFile_DoVicinityP) );
-    OpenInputFiles.push_back( TFile::Open(InFile_DoVicinityM) );
-    
-    
-    //gather histograms
-    std::cout << "Begin loop over inputfiles to gather histograms..." << std::endl;
-    
-    for(unsigned int iFile==0; iFile<OpenInputFiles.size(); iFile++) {
-        
-        TFile* curFile = OpenInputFiles[iFile];
-        std::cout << "\tInFile opened at " << curFile << std::endl;
-        if(curFile == 0) {
-            std::cout << "Pointer to 0! Skip" << std::endl;
-            continue;
-        }
-        
-        //set right vector to fill
-        std::vector<TH1F*>* HistListToFill = 0;
-        if(iFile == 0) HistListToFill = &Histograms_NoVicinity;
-        if(iFile == 1) HistListToFill = &Histograms_DoVicinityP;
-        if(iFile == 2) HistListToFill = &Histograms_DoVicinityM;
-        std::cout << "\tFilling histvector at " << HistListToFill << std::endl;
-        
-        //get list of keys and loop recursively through file contents
-        TList* keyList = curFile->GetListOfKeys();
-        
-        ScanDirectory(keyList, HistListToFill);
-        
-        //finalize single hists
-        //std::cout << "\tDumping histos in list: " << std::endl;
-        for(int iHist=0; iHist<HistListToFill->size(); iHist++) {
-            TH1F* curHist = HistListToFill->at(iHist);
-            TString newName = Types.at(iFile) + curHist->GetName();
-            curHist->SetName(newName);
-            curHist->SetTitle(newName);
-//             std::cout << "\t\t" << curHist->GetName() << std::endl;
-            curHist->SetLineColor(LineColors[iFile]);
-            curHist->SetLineWidth(LineWidths[iFile]);
-            curHist->SetLineStyle(LineStyles[iFile]);
-        }
-        
-    }//end loop over files
-    
-    
-    //put histograms into canvasses
-    double xStart = 0.54;
-    double yStart = 0.70;
-    TLegend* theLegend = new TLegend(xStart, yStart, 0.93, 0.93);
-    theLegend->SetFillColor(0);
-    theLegend->SetFillStyle(0);
-    theLegend->SetBorderSize(0);
-    std::vector<TCanvas*> CanvasList;
-    std::cout << "Begin loop over histograms to fill canvasses..." << std::endl;
-    for(unsigned int iCan=0; iCan<Histograms_NoVicinity.size(); iCan++) {
-        TString curHistName = HistListToFill->at(iCan)->GetName();
-        std::cout << "\tFilling canvas for hist: " << curHistName << std::endl;
-        
-        //fill the canvas
-        TCanvas* curCan = new TCanvas(curHistName, curHistName);
-        curCan->cd();
-        Histograms_NoVicinity.at(iCan)->Draw();
-        Histograms_DoVicinityM.at(iCan)->Draw("same");
-        Histograms_DoVicinityP.at(iCan)->Draw("same");
-        
-        //complete the legend
-        if(iCan == 0) {
-            theLegend->AddEntry(Histograms_NoVicinity.at(iCan),     "All tauRec candidates", "l");
-            theLegend->AddEntry(Histograms_DoVicinityM.at(iCan),    "Isolated tauRecs (in #Delta R = 0.4)", "l");
-            theLegend->AddEntry(Histograms_DoVicinityP.at(iCan),    "tauRec with other tauRec in 0.4", "l");
-        }
-        
-        CanvasList.push_back(curCan);
-        
-    }
-    
-    
-    std::cout << "Saving to outputfile" << std::endl;
-    TFile* outfile = new TFile("dumpedRTHHists.root", "RECREATE");
-    outfile->cd();
-    for(unsigned int iSave=0; iSave<CanvasList.size(); iSave++) {
-        CanvasList.at(iSave)->cd();
-        theLegend->Draw();
-        CanvasList.at(iSave)->Write();
-    }
-    
-    return;
-}
-
-
-
-
-
-void ScanDirectory(TList* keyList, std::vector<TH1F*>* HistListToFill) {
-    //loop through key list
-    for(int iKey=0; iKey<keyList->GetEntries(); iKey++) {
-        TKey* curKey      = (TKey*)keyList->At(iKey);
-        TString itsClass  = curKey->GetClassName();
-//         std::cout << "DEBUG\t\tKey: " << curKey->GetName() << " / " << curKey->GetTitle() << " ClassName: |" << itsClass << "|" << std::endl;
-
-        //if a key is a directory, get its list of keys and loop through that list
-        if( itsClass == "TDirectoryFile") {
-            TDirectoryFile* nextDir = (TDirectoryFile*)curKey->ReadObj();
-//             std::cout << "DEBUG\t\t\tThis key is a TDirectory! It is named/titled: " << nextDir->GetName() << " / " << nextDir->GetTitle() << std::endl;
-
-            TList* nextKeyList = nextDir->GetListOfKeys();
-//             std::cout << "DEBUG\t\t\tKeys in the next dir " << nextKeyList->GetEntries() << std::endl;
-
-            //scan next subdir
-            ScanDirectory(nextKeyList, HistListToFill);
-        }
-
-        //if it is a TH1, put it into list of histograms
-        if( itsClass == "TH1F") {
-            TH1F* curHist = (TH1F*)curKey->ReadObj();
-
-//             std::cout << "DEBUG\t\t\tThis key is a TH1! It is named/titled: " << curHist->GetName() << " / " << curHist->GetTitle() << std::endl;
-            HistListToFill->push_back(curHist);
-        }
-
-    } // end loop over keys
-    return;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/SubmitVersion.source b/PhysicsAnalysis/PanTauAnalysis/scripts/SubmitVersion.source
deleted file mode 100644
index 6c7e07b5ae169491ab10bd6ffdddd933454f07f0..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/SubmitVersion.source
+++ /dev/null
@@ -1,4 +0,0 @@
-0
-1
-v3
-v320
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/launch_gridjobs_AOD-to-D3PD.sh b/PhysicsAnalysis/PanTauAnalysis/scripts/launch_gridjobs_AOD-to-D3PD.sh
deleted file mode 100644
index 903bac68e25872b4b2a3486a847aac4ef1359d1d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/launch_gridjobs_AOD-to-D3PD.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-echo "INFO    ================================================"
-echo "INFO        Script to submit all PanTau jobs to grid    "
-echo "INFO    ================================================"
-echo "INFO"
-
-
-
-SAMPLES[0]=ZTauTau
-SAMPLES[1]=ZPrime250TauTau
-SAMPLES[2]=ZPrime750TauTau
-SAMPLES[3]=WTauNu
-SAMPLES[4]=J0
-SAMPLES[5]=J1
-SAMPLES[6]=J2
-SAMPLES[7]=J3
-SAMPLES[8]=J4
-SAMPLES[9]=J5
-
-
-if [ "$1" = "submit" ]; then
-
-    echo "INFO    Will submit a whole bunch of jobs!"
-    
-    for iSample in "${SAMPLES[@]}"
-    do
-        ToExecute=". ../scripts/submit-grid-job_PanTau_User_TopOptions.sh $iSample $2"
-        echo "INFO    ___________________________________________________________________________"
-        echo "INFO"
-        echo "INFO                               ===> Next Job! <==="
-        echo "INFO    ___________________________________________________________________________"
-        echo "INFO"
-        echo "INFO    Executing: $ToExecute"
-        $ToExecute
-    done
-    
-    
-else
-    echo "INFO    You have to be inside your \$TestArea/PhysicsAnalysis/PanTauAnalysis/run"
-    echo "INFO    Otherwise this script will not work and do terrible things".
-    echo "INFO    To submit jobs, be sure to be in the directory above and do:"
-    echo "INFO       . ../scripts/Launch_WholeBunchOfSamplesToGrid.sh submit xyz"
-    echo "INFO    where xyz steers the actual submitting script:"
-    echo "INFO       xyz omitted : just print commands, do not execute anything"
-    echo "INFO       xyz = local : runs commands locally (not encouraged!)"
-    echo "INFO       xyz = grid  : submit jobs to grid"
-fi
\ No newline at end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions.sh b/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions.sh
deleted file mode 100755
index b0693172ca395a23bbdc4a75d69123726b2ec238..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions.sh
+++ /dev/null
@@ -1,469 +0,0 @@
-#############################################
-# Mechanism to get a unique number 
-# in the output ds name of each submission
-# No need to change this...
-#############################################
-
-a=0
-while read line
-do a=$(($a+1));
-# echo $a;
-done < "SubmitVersion.source"
-# echo "Final line count is: $a";
-a=`expr $a + 1`
-echo "v$a" >> "SubmitVersion.source"
-
-UNIQUEIDTOUSE="v$a"
-# echo "Will append this to output name: "$UNIQUEIDTOUSE
-
-
-#############################################
-#                Settings
-#
-# Adapt to your neeeds
-#############################################
-
-
-JOBOPTIONSDIR="/afs/cern.ch/user/l/limbach/scratch0/FinalSetupTest/PhysicsAnalysis/PanTauAnalysis/share/" # do NOT forget the / at the end!
-JOBOPTIONSFILE="TopOptions_NewPanTau.py"
-EXCLUDEDSITES="SARA,ANALY_IFIC,ANALY_FZK,ANALY_NIKHEF-ELPROD"
-CLOUD="DE"
-THESITE="ANALY_DESY-ZN,ANALY_DESY-HH,ANALY_ARC,ANALY_AGLT2,ANALY_RHUL,ANALY_INFN-FRASCATI,ANALY_RALPP"
-NMAXFILES="-1"
-
-
-# DESTINATIONSITE="UNI-BONN_LOCALGROUPDISK" # or something similar
-
-
-
-#############################################
-#                Automatic part
-#
-# 
-#############################################
-
-echo "Option 1 (Dataset to use) specified to be:" $1
-DATASETTOUSE=$1
-if [ "$DATASETTOUSE" = "" ]; then
-    echo "INFO    No sample given!"
-fi
-
-
-echo "Option 2 (do local test)  specified to be:" $2
-EXECUTEOPTION=$2
-if [ "$EXECUTEOPTION" = "local" ]; then
-    echo "INFO    Will do local test"
-elif [ "$EXECUTEOPTION" = "grid" ]; then
-    echo "INFO    Will submit the job to the grid using pathena"
-else
-    echo "INFO    No second argument provided => Display commands for local & pathena submission and show valid sample names."
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Command Line options:"
-    echo "INFO       1. Option: Name of sample (required, will do nothing if not specified"
-    echo "INFO       2. Option: ExecutionOption"
-    echo "INFO                  local   -> Do not submit to grid but execute athena locally"
-    echo "INFO                  grid    -> Submit to grid"
-    echo "INFO    "
-    echo "INFO    "
-    echo "INFO       Allowed values for samples   | Note"
-    echo "INFO        -MC Samples:"
-    echo "INFO          ZTauTauOff                | Official sample to be used for substructure studies"
-    echo "INFO          ZPrime500Off              | Official sample to be used for substructure studies"
-    echo "INFO          JX                        | X = 0, 1, 2, 3, 4, 5"
-    echo "INFO          ZTauTau"
-    echo "INFO          ZPrime250TauTau"
-    echo "INFO          ZPrime750TauTau"
-    echo "INFO          WTauNu"
-    echo "INFO          ZMuMuJet"
-    echo "INFO          ZMuMu"
-    echo "INFO          ZJetsX                    | X = 0, 1, 2, 3, 4, 5 (AlpgenJimmy)"
-    echo "INFO          ZMuMuNp1pt20Jimmy"
-    echo "INFO          ZMuMuNp1pt20Pythia"
-    echo "INFO          ZmumugammaSherpa"
-    echo "INFO          WmunuNp1pt20Jimmy"
-    echo "INFO          WmunuNp1pt20Pythia"
-    echo "INFO          "
-    echo "INFO    "
-    echo "INFO        -Data"
-    echo "INFO          Data191933                          | 2011 7TeV JetTauEtmiss"
-    echo "INFO          Data191933Muons                     | 2011 7TeV Muons"
-    echo "INFO          Data191190Muons                     | 2011 7TeV Muons"
-    echo "INFO          Data11_PeriodM6_Muons               | 2011 7TeV Period M6, Muonstream"
-    echo "INFO          Data11_PeriodM8_Muons               | 2011 7TeV Period M8, Muonstream"
-    echo "INFO          Data11_PeriodM9_Muons               | 2011 7TeV Period M9, Muonstream"
-    echo "INFO          Data11_PeriodM10_Muons              | 2011 7TeV Period M10, Muonstream"
-    echo "INFO          Data11_PeriodM_Muons                | 2011 7TeV Period M, Muonstream"
-    echo "INFO          Data11_PeriodX_Muons_DAOD_ZMUMU     | X = B, D, E, F, G, H, I, J, K, L, M"
-    echo "INFO                                              | DAOD_ZMUMU selected muons from 2011"
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO    ___________________________________________"
-fi
-
-
-
-
-
-
-INPUTDATA=""
-OUTPUTDATA=""
-
-#############################################
-#                Input Samples
-#
-#############################################
-
-VALIDSAMPLE="true"
-
-
-if [ "$DATASETTOUSE" == "ZTauTauOff" ]; then               
-    INPUTDATA="mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_147818_Pythia8_AU2CTEQ6L1_ZTauTau_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "ZPrime500Off" ]; then               
-    INPUTDATA="mc12_8TeV.170202.Pythia8_AU2CTEQ6L1_Zprime500tautau.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_170202_Pythia8_AU2CTEQ6L1_Zprime500tautau_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-
-
-
-elif [ "$DATASETTOUSE" == "ZTauTau" ]; then               
-    INPUTDATA="mc11_7TeV.106052.PythiaZtautau.merge.AOD.e825_s1349_s1300_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_106052_PythiaZTauTau_e825_s1349_s1300_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
- ### Attention! This has not the same reco tags as the other samples ###
-elif [ "$DATASETTOUSE" == "ZPrime250TauTau" ]; then 
-    INPUTDATA="mc11_7TeV.107381.Pythia_Zprime_tautau_SSM250.merge.AOD.e825_s1349_s1300_r3060_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_107381_Pythia_Zprime_tautau_SSM250_e825_s1349_s1300_r3060_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZPrime750TauTau" ]; then
-    INPUTDATA="mc11_7TeV.107383.Pythia_Zprime_tautau_SSM750.merge.AOD.e825_s1349_s1300_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_107383_Pythia_Zprime_tautau_SSM750_e825_s1349_s1300_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-    
-elif [ "$DATASETTOUSE" == "ZMuMuJet" ]; then
-    INPUTDATA="mc11_7TeV.113285.PythiaZmumuJet_Ptcut5.merge.AOD.e1039_s1372_s1370_r3043_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_113285_Pythia_ZmumuJet_Ptcut5_e1039_s1372_s1370_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZMuMu" ]; then
-    INPUTDATA="mc11_7TeV.106047.PythiaZmumu_no_filter.merge.AOD.e815_s1310_s1300_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_106047_PythiaZmumu_no_filter_e815_s1310_s1300_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZMuMuNp1pt20Jimmy" ]; then
-    INPUTDATA="mc11_7TeV.107661.AlpgenJimmyZmumuNp1_pt20.merge.AOD.e835_s1299_s1300_r3157_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_107661_AlpgenJimmyZmumuNp1_pt20_e835_s1299_s1300_r3157_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZMuMuNp1pt20Pythia" ]; then
-    INPUTDATA="mc11_7TeV.117661.AlpgenPythiaZmumuNp1_pt20.merge.AOD.e1051_s1372_s1370_r3043_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_117661_AlpgenPythiaZmumuNp1_pt20_e1051_s1372_s1370_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZmumugammaSherpa" ]; then
-    INPUTDATA="mc11_7TeV.126012.Sherpa_Zmumugamma.merge.AOD.e931_s1310_s1300_r3043_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_126012_Sherpa_Zmumugamma_e931_s1310_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-elif [ "$DATASETTOUSE" == "WmunuNp1pt20Pythia" ]; then
-    INPUTDATA="mc11_7TeV.117691.AlpgenPythiaWmunuNp1_pt20.merge.AOD.e1051_s1372_s1370_r3043_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_117691__e1051_s1372_s1370_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "WmunuNp1pt20Jimmy" ]; then
-    INPUTDATA="mc11_7TeV.107691.AlpgenJimmyWmunuNp1_pt20.merge.AOD.e825_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_107691_AlpgenJimmyWmunuNp1_pt20_e825_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-    
-elif [ "$DATASETTOUSE" == "ZJets0" ]; then
-    INPUTDATA="mc11_7TeV.107660.AlpgenJimmyZmumuNp0_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107660_AlpgenJimmyZmumuNp0_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZJets1" ]; then
-    INPUTDATA="mc11_7TeV.107661.AlpgenJimmyZmumuNp1_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107661_AlpgenJimmyZmumuNp1_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZJets2" ]; then
-    INPUTDATA="mc11_7TeV.107662.AlpgenJimmyZmumuNp2_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107662_AlpgenJimmyZmumuNp2_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZJets3" ]; then
-    INPUTDATA="mc11_7TeV.107663.AlpgenJimmyZmumuNp3_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107663_AlpgenJimmyZmumuNp3_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZJets4" ]; then
-    INPUTDATA="mc11_7TeV.107664.AlpgenJimmyZmumuNp4_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107664_AlpgenJimmyZmumuNp4_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZJets5" ]; then
-    INPUTDATA="mc11_7TeV.107665.AlpgenJimmyZmumuNp5_pt20.merge.AOD.e835_s1299_s1300_r3043_r2993/"
-    OUTPUTDATA="user.limbach.mc11_7TeV_107665_AlpgenJimmyZmumuNp5_pt20_e835_s1299_s1300_r3043_r2993_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-    
-    
-    
-    
-    
- ### Attention! This has not the same reco tags as the other samples ###
-elif [ "$DATASETTOUSE" == "WTauNu" ]; then 
-    INPUTDATA="mc11_7TeV.107054.PythiaWtaunu_incl.merge.AOD.e825_s1349_s1300_r3069_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_107054_PythiaWtaunu_incl_e825_s1349_s1300_r3069_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J0" ]; then
-    INPUTDATA="mc11_7TeV.105009.J0_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105009_J0_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J1" ]; then
-    INPUTDATA="mc11_7TeV.105010.J1_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105010_J1_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J2" ]; then
-    INPUTDATA="mc11_7TeV.105011.J2_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105011_J2_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J3" ]; then
-    INPUTDATA="mc11_7TeV.105012.J3_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105012_J3_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J4" ]; then
-    INPUTDATA="mc11_7TeV.105013.J4_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105013_J4_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J5" ]; then
-    INPUTDATA="mc11_7TeV.105014.J5_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063/"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105014_J5_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "J6" ]; then
-    INPUTDATA="mc11_7TeV.105015.J6_pythia_jetjet.merge.AOD.e815_s1273_s1274_r3082_r3063"
-    OUTPUTDATA="user.cLimbach.mc11_7TeV_105015_J6_pythia_jetjet_e815_s1273_s1274_r3082_r3063_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data191933" ]; then
-    INPUTDATA="data11_7TeV.00191933.physics_JetTauEtmiss.merge.AOD.r3047_r3053_p673/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_00191933_physics_JetTauEtmiss_r3047_r3053_p673_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data191933Muons" ]; then
-    INPUTDATA="data11_7TeV.00191933.physics_Muons.merge.AOD.f415_m1025"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_00191933_physics_Muons_f415_m1025_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-#    data11_7TeV.00191190.physics_Muons.merge.AOD.f413_m1019
-# elif [ "$DATASETTOUSE" == "Data11_PeriodM5_Muons" ]; then
-#     INPUTDATA="data11_7TeV.periodM5.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-#     OUTPUTDATA="user.cLimbach.data11_7TeV_periodM5_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data191190Muons" ]; then
-    INPUTDATA="data11_7TeV.00191190.physics_Muons.merge.AOD.f413_m1019"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_00191190_physics_Muons_AOD_f413_m1019_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data11_PeriodM6_Muons" ]; then
-    INPUTDATA="data11_7TeV.periodM6.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-    OUTPUTDATA="user.limbach.data11_7TeV_periodM6_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-    
-#     there is no m7 on ami...
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodM8_Muons" ]; then
-    INPUTDATA="data11_7TeV.periodM8.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-    OUTPUTDATA="user.limbach.data11_7TeV_periodM8_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data11_PeriodM9_Muons" ]; then
-    INPUTDATA="data11_7TeV.periodM9.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-    OUTPUTDATA="user.limbach.data11_7TeV_periodM9_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-elif [ "$DATASETTOUSE" == "Data11_PeriodM10_Muons" ]; then
-    INPUTDATA="data11_7TeV.periodM10.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-    OUTPUTDATA="user.limbach.data11_7TeV_periodM10_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data11_PeriodM_Muons" ]; then
-    INPUTDATA="data11_7TeV.periodM.physics_Muons.PhysCont.AOD.t0pro09_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodM_physics_Muons_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-### DAOD_ZMUMU
-
-
-
-#14757
-elif [ "$DATASETTOUSE" == "Data11_PeriodB_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodB.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodB_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-
-# 94777
-elif [ "$DATASETTOUSE" == "Data11_PeriodD_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodD.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodD_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 32189
-elif [ "$DATASETTOUSE" == "Data11_PeriodE_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodE.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodE_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 79903
-elif [ "$DATASETTOUSE" == "Data11_PeriodF_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodF.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodF_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 294244
-elif [ "$DATASETTOUSE" == "Data11_PeriodG_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodG.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodG_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 146719
-elif [ "$DATASETTOUSE" == "Data11_PeriodH_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodH.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodH_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 211659
-elif [ "$DATASETTOUSE" == "Data11_PeriodI_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodI.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodI_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 123329
-elif [ "$DATASETTOUSE" == "Data11_PeriodJ_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodJ.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodJ_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 348728 events
-elif [ "$DATASETTOUSE" == "Data11_PeriodK_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodK.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodK_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 799540 events
-elif [ "$DATASETTOUSE" == "Data11_PeriodL_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodL.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodL_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-# 588452 events
-elif [ "$DATASETTOUSE" == "Data11_PeriodM_Muons_DAOD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodM.physics_Muons.PhysCont.DAOD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodM_physics_Muons_DAOD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-  
-    
-    
-    
-    
-    
-    
-    
-    
-    
-else
-    echo "ERROR   The sample $DATASETTOUSE is not valid."
-    VALIDSAMPLE="false"
-fi
-
-
-if [ "$VALIDSAMPLE" = "true" ]; then
-
-    #############################################
-    #                Submission
-    #
-    #############################################
-    
-    
-    
-    #Get command line options correct:
-    
-    JOBOPTIONS=" "$JOBOPTIONSDIR$JOBOPTIONSFILE
-    GBPERJOB=" --nGBPerJob=10"
-    SITE=" --site="$THESITE
-    TMPDIR=" --tmpDir=/tmp"
-    FILESPERJOB=" --nFilesPerJob=1"
-    EXCLUDED=" --excludedSite="$EXCLUDEDSITES
-    USECLOUD=" --cloud="$CLOUD
-    INDS=" --inDS="$INPUTDATA
-    OUTDS=" --outDS="$OUTPUTDATA
-    
-    #get number of files correct
-    MAXFILES=""
-    if [ "$NMAXFILES" = "-1" ]; then
-        MAXFILES=""
-    else
-        MAXFILES=" --nFiles="$NMAXFILES
-    fi
-    
-    #get destination site correct
-    DESTSE=""
-    if [ "$DESTINATIONSITE" = "" ]; then
-        DESTSE=""
-    else
-        DESTSE=" --destSE="$DESTINATIONSITE
-    fi
-    
-    
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Submitting a job to panda..."
-    echo "INFO    Options:"
-    echo "INFO          $JOBOPTIONS"
-    echo "INFO          $GBPERJOB"
-    echo "INFO          $SITE"
-    echo "INFO          $TMPDIR"
-    echo "INFO          $FILESPERJOB"
-    echo "INFO          $EXCLUDED"
-    echo "INFO          $USECLOUD"
-    echo "INFO          $MAXFILES"
-    echo "INFO          $DESTSE"
-    echo "INFO          $INDS"
-    echo "INFO          $OUTDS"
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    
-    
-    TRAFOCOMMAND_LOCAL=""
-    TRAFOCOMMAND_GRID=""
-    
-    TRAFOCOMMAND_LOCAL="athena.py "$JOBOPTIONS
-    
-    # ===> cloud and site requirements
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${SITE}${TMPDIR}${FILESPERJOB}${EXCLUDED}${USECLOUD}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    # ===> cloud requirement
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${EXCLUDED}${USECLOUD}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    # ===> site exclusion
-    TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${EXCLUDED}${MAXFILES}${INDS}${OUTDS}${DESTSE}${JOBOPTIONS}
-    
-    # ===> no location exclusion
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    
-    if [ "$EXECUTEOPTION" = "local" ]; then
-        echo "INFO    Will run athena locally to test..."
-        echo "INFO    Command that is executed:"
-        echo "INFO       $TRAFOCOMMAND_LOCAL"
-        $TRAFOCOMMAND_LOCAL
-    
-        
-    elif [ "$EXECUTEOPTION" = "grid" ]; then 
-        echo "INFO    Will submit pathena job"
-        echo "INFO    Command that is executed:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        $TRAFOCOMMAND_GRID
-    
-        
-    else
-        echo "INFO    Not submitting anything, only displaying commands:"
-        echo "INFO    "
-        echo "INFO    Local athena command:"
-        echo "INFO        $TRAFOCOMMAND_LOCAL"
-        echo "INFO    "
-        echo "INFO    GRID command for pathena:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        echo "INFO    "
-    
-    fi
-    
-else 
-    echo "ERROR   No valid sample given!"
-fi
-
-
-echo "INFO    End of script."
-
-# end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions_MC12.sh b/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions_MC12.sh
deleted file mode 100644
index 252d077e8165d17e2ab4bea3dc8e36a28159a5d3..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-D3PD_TopOptions_MC12.sh
+++ /dev/null
@@ -1,270 +0,0 @@
-#############################################
-# Mechanism to get a unique number 
-# in the output ds name of each submission
-# No need to change this...
-#############################################
-
-a=0
-while read line
-do a=$(($a+1));
-# echo $a;
-done < "SubmitVersion.source"
-# echo "Final line count is: $a";
-a=`expr $a + 1`
-echo "v$a" >> "SubmitVersion.source"
-
-UNIQUEIDTOUSE="v$a"
-# echo "Will append this to output name: "$UNIQUEIDTOUSE
-
-
-#############################################
-#                Settings
-#
-# Adapt to your neeeds
-#############################################
-
-
-JOBOPTIONSDIR="/afs/cern.ch/user/l/limbach/scratch0/PanTauTest/PhysicsAnalysis/PanTauAnalysis/share/" # do NOT forget the / at the end!
-JOBOPTIONSFILE="PanTau_ESD-to-D3PD_TopOptions.py"
-EXCLUDEDSITES="SLAC,SARA,ANALY_IFIC,ANALY_FZK"
-CLOUD="DE"
-THESITE=""
-NMAXFILES="20"
-
-
-# DESTINATIONSITE="UNI-BONN_LOCALGROUPDISK" # or something similar
-
-
-
-#############################################
-#                Automatic part
-#
-# 
-#############################################
-
-echo "Option 1 (Dataset to use) specified to be:" $1
-DATASETTOUSE=$1
-if [ "$DATASETTOUSE" = "" ]; then
-    echo "INFO    No sample given!"
-fi
-
-
-echo "Option 2 (do local test)  specified to be:" $2
-EXECUTEOPTION=$2
-if [ "$EXECUTEOPTION" = "local" ]; then
-    echo "INFO    Will do local test"
-elif [ "$EXECUTEOPTION" = "grid" ]; then
-    echo "INFO    Will submit the job to the grid using pathena"
-else
-    echo "INFO    No second argument provided => Display commands for local & pathena submission and show valid sample names."
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Command Line options:"
-    echo "INFO       1. Option: Name of sample (required, will do nothing if not specified"
-    echo "INFO       2. Option: ExecutionOption"
-    echo "INFO                  local   -> Do not submit to grid but execute athena locally"
-    echo "INFO                  grid    -> Submit to grid"
-    echo "INFO    "
-    echo "INFO    "
-    echo "INFO       Allowed values for samples   | Note"
-    echo "INFO        -MC Samples:"
-    echo "INFO          ZTauTau"
-    echo "INFO          ZPrime250TauTau"
-    echo "INFO          ZPrime750TauTau"
-    echo "INFO          WTauNu"
-    echo "INFO          ZMuMu"
-    echo "INFO          ZMuMuNp1pt20Jimmy"
-    echo "INFO          -----------------"
-    echo "INFO          ZTauTau6M_Mark            | 6.5 Million events in AOD with calib hits, latest eflowRec"
-    echo "INFO                                    | Used to produce eflowStudy D3PDs for Peter"
-    echo "INFO          ZTauTau_bwinter           | Official sample from benedict"
-    echo "INFO    "
-    echo "INFO        -Data"
-    echo "INFO          Data201556Muons             | 2012 8TeV Muons"
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO    ___________________________________________"
-fi
-
-
-
-
-
-
-INPUTDATA=""
-OUTPUTDATA=""
-
-#############################################
-#                Input Samples
-#
-#############################################
-
-VALIDSAMPLE="true"
-
-if [ "$DATASETTOUSE" == "ZTauTau" ]; then               
-    INPUTDATA="mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_147818_Pythia8_AU2CTEQ6L1_Ztautau_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZPrime250TauTau" ]; then 
-    INPUTDATA="mc12_8TeV.170201.Pythia8_AU2CTEQ6L1_Zprime250tautau.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_170201_Pythia8_AU2CTEQ6L1_Zprime250tautau_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZPrime750TauTau" ]; then
-    INPUTDATA="mc12_8TeV.170203.Pythia8_AU2CTEQ6L1_Zprime750tautau.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_170203_Pythia8_AU2CTEQ6L1_Zprime750tautau_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "WTauNu" ]; then 
-    INPUTDATA="mc12_8TeV.147812.Pythia8_AU2CTEQ6L1_Wtaunu.merge.AOD.e1176_s1479_s1470_r3553_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_147812_Pythia8_AU2CTEQ6L1_Wtaunu_e1176_s1479_s1470_r3553_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-# ### ### Attention ### This has not the same pdfs and reco tags as the ones above! ### #
-elif [ "$DATASETTOUSE" == "ZMuMu" ]; then
-    INPUTDATA="mc12_8TeV.147807.PowhegPythia8_AU2CT10_Zmumu.merge.AOD.e1169_s1469_s1470_r3542_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_147807_PowhegPythia8_AU2CT10_Zmumu_e1169_s1469_s1470_r3542_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZMuMuNp1pt20Jimmy" ]; then
-    INPUTDATA="mc12_8TeV.107661.AlpgenJimmy_AUET2CTEQ6L1_ZmumuNp1.merge.AOD.e1218_s1469_s1470_r3542_r3549/"
-    OUTPUTDATA="user.limbach.mc12_8TeV_107661_AlpgenJimmy_AUET2CTEQ6L1_ZmumuNp1_e1218_s1469_s1470_r3542_r3549_$UNIQUEIDTOUSE.D3PD.root"
-    
-# ### ### Marks AOD with Pi0 Tag ### ### #
-elif [ "$DATASETTOUSE" == "ZTauTau6M_Mark" ]; then
-    INPUTDATA="user.mhodgkin.20121123181942.2368/"
-    OUTPUTDATA="user.limbach.ZTauTau_6M_AODfromMark_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "ZTauTau_bwinter" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid778651_00.v00-00/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid778651_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZTauTau_bwinter2" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00.v00-01/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-    
-# ### Data ### #
-elif [ "$DATASETTOUSE" == "Data201556Muons" ]; then
-    INPUTDATA="data12_8TeV.00201556.physics_Muons.merge.AOD.f437_m1126"
-    OUTPUTDATA="user.limbach.data12_8TeV_00201556_physics_Muons_f437_m1126_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "Data12PeriodA" ]; then
-    INPUTDATA="data12_8TeV.periodA.physics_Muons.PhysCont.AOD.t0pro13_v01/"
-    OUTPUTDATA="user.limbach.data12_8TeV_periodA_physics_Muons_t0pro13_v01_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-
-    
-
-    
-    
-else
-    echo "ERROR   The sample $DATASETTOUSE is not valid."
-    VALIDSAMPLE="false"
-fi
-
-
-if [ "$VALIDSAMPLE" = "true" ]; then
-
-    #############################################
-    #                Submission
-    #
-    #############################################
-    
-    
-    
-    #Get command line options correct:
-    
-    JOBOPTIONS=" "$JOBOPTIONSDIR$JOBOPTIONSFILE
-    GBPERJOB=" --nGBPerJob=MAX"
-    SITE=" --site="$THESITE
-    TMPDIR=" --tmpDir=/tmp"
-    FILESPERJOB=" --nFilesPerJob=1"
-    EXCLUDED=" --excludedSite="$EXCLUDEDSITES
-    USECLOUD=" --cloud="$CLOUD
-    INDS=" --inDS="$INPUTDATA
-    OUTDS=" --outDS="$OUTPUTDATA
-    
-    #get number of files correct
-    MAXFILES=""
-    if [ "$NMAXFILES" = "-1" ]; then
-        MAXFILES=""
-    else
-        MAXFILES=" --nFiles="$NMAXFILES
-    fi
-    
-    #get destination site correct
-    DESTSE=""
-    if [ "$DESTINATIONSITE" = "" ]; then
-        DESTSE=""
-    else
-        DESTSE=" --destSE="$DESTINATIONSITE
-    fi
-    
-    
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Submitting a job to panda..."
-    echo "INFO    Options:"
-    echo "INFO          $JOBOPTIONS"
-    echo "INFO          $GBPERJOB"
-    echo "INFO          $SITE"
-    echo "INFO          $TMPDIR"
-    echo "INFO          $FILESPERJOB"
-    echo "INFO          $EXCLUDED"
-    echo "INFO          $USECLOUD"
-    echo "INFO          $MAXFILES"
-    echo "INFO          $DESTSE"
-    echo "INFO          $INDS"
-    echo "INFO          $OUTDS"
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    
-    
-    TRAFOCOMMAND_LOCAL=""
-    TRAFOCOMMAND_GRID=""
-    
-    TRAFOCOMMAND_LOCAL="athena.py "$JOBOPTIONS
-    
-    USESHORTLIVED=" --useShortLivedReplicas"
-#     TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${MAXFILES}${USESHORTLIVED}${SITE}${INDS}${OUTDS}${DESTSE}${JOBOPTIONS}
-    TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${MAXFILES}${USESHORTLIVED}${INDS}${OUTDS}${DESTSE}${JOBOPTIONS}
-    
-    
-    if [ "$EXECUTEOPTION" = "local" ]; then
-        echo "INFO    Will run athena locally to test..."
-        echo "INFO    Command that is executed:"
-        echo "INFO       $TRAFOCOMMAND_LOCAL"
-        $TRAFOCOMMAND_LOCAL
-    
-        
-    elif [ "$EXECUTEOPTION" = "grid" ]; then 
-        echo "INFO    Will submit pathena job"
-        echo "INFO    Command that is executed:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        $TRAFOCOMMAND_GRID
-    
-        
-    else
-        echo "INFO    Not submitting anything, only displaying commands:"
-        echo "INFO    "
-        echo "INFO    Local athena command:"
-        echo "INFO        $TRAFOCOMMAND_LOCAL"
-        echo "INFO    "
-        echo "INFO    GRID command for pathena:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        echo "INFO    "
-    
-    fi
-    
-else 
-    echo "ERROR   No valid sample given!"
-fi
-
-
-echo "INFO    End of script."
-
-# end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-eflowStudyD3PD_TopOptions.sh b/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-eflowStudyD3PD_TopOptions.sh
deleted file mode 100644
index 8d5de46bb72516311f9cfc16966d8603b3816d78..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_AOD-to-eflowStudyD3PD_TopOptions.sh
+++ /dev/null
@@ -1,217 +0,0 @@
-#############################################
-# Mechanism to get a unique number 
-# in the output ds name of each submission
-# No need to change this...
-#############################################
-
-a=0
-while read line
-do a=$(($a+1));
-# echo $a;
-done < "SubmitVersion.source"
-# echo "Final line count is: $a";
-a=`expr $a + 1`
-echo "v$a" >> "SubmitVersion.source"
-
-UNIQUEIDTOUSE="v$a"
-# echo "Will append this to output name: "$UNIQUEIDTOUSE
-
-
-#############################################
-#                Settings
-#
-# Adapt to your neeeds
-#############################################
-
-
-JOBOPTIONSDIR="/afs/cern.ch/user/l/limbach/scratch0/PanTauTest/PhysicsAnalysis/PanTauAnalysis/share/" # do NOT forget the / at the end!
-JOBOPTIONSFILE="PanTau_AOD-to-eflowStudyD3PD_TopOptions.py"
-# EXCLUDEDSITES="ANALY_INFN-MILANO-ATLASC"
-EXCLUDEDSITES=""
-
-
-# ##########################################
-#
-# Set Maximum number of files to be used
-#
-# ##########################################
-NMAXFILES="1000"
-# NEVENTSPERJOB="5000"
-
-
-#############################################
-#                Automatic part
-#
-# 
-#############################################
-
-echo "Option 1 (Dataset to use) specified to be:" $1
-DATASETTOUSE=$1
-if [ "$DATASETTOUSE" = "" ]; then
-    echo "INFO    No sample given!"
-fi
-
-
-echo "Option 2 (do local test)  specified to be:" $2
-EXECUTEOPTION=$2
-if [ "$EXECUTEOPTION" = "local" ]; then
-    echo "INFO    Will do local test"
-elif [ "$EXECUTEOPTION" = "grid" ]; then
-    echo "INFO    Will submit the job to the grid using pathena"
-else
-    echo "INFO    No second argument provided => Display commands for local & pathena submission and show valid sample names."
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Command Line options:"
-    echo "INFO       1. Option: Name of sample (required, will do nothing if not specified"
-    echo "INFO       2. Option: ExecutionOption"
-    echo "INFO                  local   -> Do not submit to grid but execute athena locally"
-    echo "INFO                  grid    -> Submit to grid"
-    echo "INFO    "
-    echo "INFO    "
-    echo "INFO       Allowed values for samples                 | Note"
-    echo "INFO        -MC Samples:"
-    echo "INFO          ZTauTau6M_Mark                          | 6.5 Million events in AOD with calib hits, latest eflowRec"
-    echo "INFO                                                  | Used to produce eflowStudy D3PDs for Peter"
-    echo "INFO          ZTauTau_Mark_16Dec                      | 10k events in AOD with config from 16Dec"
-    echo "INFO          ZTauTau_Mark_17Dec_k1_0                 | 10k events in AOD with config from 17Dec, k_1 set to 0"
-    echo "INFO          ZTauTau_Mark_1Feb_WithoutSplitShower    | 10k events in AOD without split shower algorithm"
-    echo "INFO    ___________________________________________"
-fi
-
-
-VALIDSAMPLE="true"
-
-
-
-
-if [ "$DATASETTOUSE" == "ZTauTau6M_Mark" ]; then
-     INPUTDATA="user.markhod.20121102155340.2340/"
-     OUTPUTDATA="user.cLimbach.ZTauTau_6M_AODfromMark_eflowStudy_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZTauTau_Mark_16Dec" ]; then
-    INPUTDATA="user.limbach.eflowStudy_16Dec_withSpitShower_AOD"
-#     OUTPUTDATA="user.limbach.eflowStudy_16Dec_withSpitShower_AOD_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZTauTau_Mark_17Dec_k1_0" ]; then
-    INPUTDATA="user.limbach.eflowStudy_17Dec_k1_0_AODs3"
-    OUTPUTDATA="user.limbach.eflowStudy_4Feb_k1_0_AODs3_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "ZTauTau_Mark_1Feb_WithoutSplitShower" ]; then
-    INPUTDATA="user.limbach.1Feb_WithoutSplitShower_AOD"
-    OUTPUTDATA="user.limbach.eflowStudy_1Feb_WithoutSplitShower_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-    
-else
-    echo "ERROR   The sample $DATASETTOUSE is not valid."
-    VALIDSAMPLE="false"
-fi
-
-
-
-if [ "$VALIDSAMPLE" = "true" ]; then
-
-    #############################################
-    #                Submission
-    #
-    #############################################
-    
-    
-    
-    #Get command line options correct:
-    
-    JOBOPTIONS=" "$JOBOPTIONSDIR$JOBOPTIONSFILE
-    GBPERJOB=" --nGBPerJob=MAX"
-    SITE=" --site="$THESITE
-    TMPDIR=" --tmpDir=/tmp"
-    FILESPERJOB=" --nFilesPerJob=1"
-#     NEVENTS=" --nEventsPerJob="$NEVENTSPERJOB
-    EXCLUDED=" --excludedSite="$EXCLUDEDSITES
-    USECLOUD=" --cloud="$CLOUD
-    INDS=" --inDS="$INPUTDATA
-    OUTDS=" --outDS="$OUTPUTDATA
-    
-    #get number of files correct
-    MAXFILES=""
-    if [ "$NMAXFILES" = "-1" ]; then
-        MAXFILES=""
-    else
-        MAXFILES=" --nFiles="$NMAXFILES
-    fi
-    
-    #get destination site correct
-    DESTSE=""
-    if [ "$DESTINATIONSITE" = "" ]; then
-        DESTSE=""
-    else
-        DESTSE=" --destSE="$DESTINATIONSITE
-    fi
-    
-    
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Submitting a job to panda..."
-    echo "INFO    Options:"
-    echo "INFO          $JOBOPTIONS"
-    echo "INFO          $GBPERJOB"
-    echo "INFO          $SITE"
-    echo "INFO          $TMPDIR"
-    echo "INFO          $FILESPERJOB"
-    echo "INFO          $EXCLUDED"
-    echo "INFO          $USECLOUD"
-    echo "INFO          $MAXFILES"
-    echo "INFO          $DESTSE"
-    echo "INFO          $INDS"
-    echo "INFO          $OUTDS"
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    
-    
-    TRAFOCOMMAND_LOCAL=""
-    TRAFOCOMMAND_GRID=""
-    
-    TRAFOCOMMAND_LOCAL="athena.py "$JOBOPTIONS
-    
-    # ===> submit command
-    # ${EXCLUDED}
-    USESHORTLIVED=" --useShortLivedReplicas"
-    TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${MAXFILES}$USESHORTLIVED${INDS}${OUTDS}${DESTSE}${JOBOPTIONS}
-
-    
-    if [ "$EXECUTEOPTION" = "local" ]; then
-        echo "INFO    Will run athena locally to test..."
-        echo "INFO    Command that is executed:"
-        echo "INFO       $TRAFOCOMMAND_LOCAL"
-        $TRAFOCOMMAND_LOCAL
-    
-        
-    elif [ "$EXECUTEOPTION" = "grid" ]; then 
-        echo "INFO    Will submit pathena job"
-        echo "INFO    Command that is executed:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        $TRAFOCOMMAND_GRID
-    
-        
-    else
-        echo "INFO    Not submitting anything, only displaying commands:"
-        echo "INFO    "
-        echo "INFO    Local athena command:"
-        echo "INFO        $TRAFOCOMMAND_LOCAL"
-        echo "INFO    "
-        echo "INFO    GRID command for pathena:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        echo "INFO    "
-    
-    fi
-    
-else 
-    echo "ERROR   No valid sample given!"
-fi
-
-
-echo "INFO    End of script."
-
-# end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_ESD-to-D3PD_TopOptions.sh b/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_ESD-to-D3PD_TopOptions.sh
deleted file mode 100644
index 59702c1ef7aa1fd3805c090e95708ebc37091da9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/scripts/submit-grid-job_PanTau_ESD-to-D3PD_TopOptions.sh
+++ /dev/null
@@ -1,298 +0,0 @@
-#############################################
-# Mechanism to get a unique number 
-# in the output ds name of each submission
-# No need to change this...
-#############################################
-
-a=0
-while read line
-do a=$(($a+1));
-# echo $a;
-done < "SubmitVersion.source"
-# echo "Final line count is: $a";
-a=`expr $a + 1`
-echo "v$a" >> "SubmitVersion.source"
-
-UNIQUEIDTOUSE="v$a"
-# echo "Will append this to output name: "$UNIQUEIDTOUSE
-
-
-#############################################
-#                Settings
-#
-# Adapt to your neeeds
-#############################################
-
-
-JOBOPTIONSDIR="/afs/cern.ch/work/l/limbach/private/testarea/WorkAreaD3PD/PhysicsAnalysis/PanTauAnalysis/share/" # do NOT forget the / at the end!
-#JOBOPTIONSFILE="PanTau_ESD-to-D3PD_TopOptions.py"
-JOBOPTIONSFILE="TopOptions_NewPanTau.py"
-EXCLUDEDSITES="SARA"
-#SARA,ANALY_IFIC,ANALY_LAPP"
-
-CLOUD="DE"
-THESITE="ANALY_CERN_XROOTD,ANALY_DESY-ZN,ANALY_DESY-HH,ANALY_ARC,ANALY_AGLT2,ANALY_RHUL,ANALY_INFN-FRASCATI,ANALY_RALPP"
-NMAXFILES="-1"
-
-
-# DESTINATIONSITE="UNI-BONN_LOCALGROUPDISK" # or something similar
-
-
-
-#############################################
-#                Automatic part
-#
-# 
-#############################################
-
-echo "Option 1 (Dataset to use) specified to be:" $1
-DATASETTOUSE=$1
-if [ "$DATASETTOUSE" = "" ]; then
-    echo "INFO    No sample given!"
-fi
-
-
-echo "Option 2 (do local test)  specified to be:" $2
-EXECUTEOPTION=$2
-if [ "$EXECUTEOPTION" = "local" ]; then
-    echo "INFO    Will do local test"
-elif [ "$EXECUTEOPTION" = "grid" ]; then
-    echo "INFO    Will submit the job to the grid using pathena"
-else
-    echo "INFO    No second argument provided => Display commands for local & pathena submission and show valid sample names."
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Command Line options:"
-    echo "INFO       1. Option: Name of sample (required, will do nothing if not specified"
-    echo "INFO       2. Option: ExecutionOption"
-    echo "INFO                  local   -> Do not submit to grid but execute athena locally"
-    echo "INFO                  grid    -> Submit to grid"
-    echo "INFO    "
-    echo "INFO    "
-    echo "INFO       Allowed values for samples             | Note"
-    echo "INFO    "
-    echo "INFO        -Data"
-    echo "INFO          Data11_PeriodM8_Muons_DESD_ZMUMU    | "
-    echo "INFO          Data11_PeriodM10_Muons_DESD_ZMUMU   | "
-    echo "INFO          Data11_PeriodX_Muons_DESD_ZMUMU     | X = D, E, F, G, H, I, J, K, L, M"
-    echo "INFO                                              | DESD_ZMUMU selected muons from 2011"
-    echo "INFO          "
-    echo "INFO        -MC "
-    echo "INFO          CellBasedTestSample                 | ESD for Corfu production"
-    echo "INFO          CellBasedTestSample2                 | ESD for Corfu production"
-    echo "INFO          CellBasedEtBiasFixA                 | ESD with neutral Et bias fix"
-    echo "INFO          CellBasedEtBiasFixB                 | ESD with neutral Et bias fix"
-    echo "INFO          CellBasedOctober"
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO          "
-    echo "INFO    ___________________________________________"
-fi
-
-
-
-INPUTDATA=""
-OUTPUTDATA=""
-
-#############################################
-#                Input Samples
-#
-#############################################
-
-VALIDSAMPLE="true"
-
-
-if [ "$DATASETTOUSE" == "Data11_PeriodM10_Muons_DESD_ZMUMU" ]; then               
-    INPUTDATA="data11_7TeV.periodM10.physics_Muons.PhysCont.DESD_ZMUMU.t0pro09_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodM10_physics_Muons_DESD_ZMUMU_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodM8_Muons_DESD_ZMUMU" ]; then               
-    INPUTDATA="data11_7TeV.periodM8.physics_Muons.PhysCont.DESD_ZMUMU.t0pro09_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodM8_physics_Muons_DESD_ZMUMU_t0pro09_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodD_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodD.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodD_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodE_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodE.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodE_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodF_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodF.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodF_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodG_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodG.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodG_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodH_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodH.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodH_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodI_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodI.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodI_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodJ_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodJ.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodJ_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodK_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodK.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodK_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodL_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodL.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodL_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "Data11_PeriodM_Muons_DESD_ZMUMU" ]; then
-    INPUTDATA="data11_7TeV.periodM.physics_Muons.PhysCont.DESD_ZMUMU.pro10_v01/"
-    OUTPUTDATA="user.cLimbach.data11_7TeV_periodM_physics_Muons_DESD_ZMUMU_pro10_v01_$UNIQUEIDTOUSE.D3PD.root"
-
-
-elif [ "$DATASETTOUSE" == "CellBasedTestSample" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid778651_00.v00-00/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESD_147818_Pythia8_AU2CTEQ6L1_Ztautau_tid778651_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "CellBasedTestSample2" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00.v00-01/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESD_147818_Pythia8_AU2CTEQ6L1_Ztautau_tid00999072_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "CellBasedEtBiasFixA" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESDforD3PD_mp.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999076_00.v03-00/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESDforD3PD_mp.147818.Pythia8_AU2CTEQ6L1_Ztautau_tid00999076_$UNIQUEIDTOUSE.D3PD.root"
-
-elif [ "$DATASETTOUSE" == "CellBasedEtBiasFixB" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESDforD3PD_mp.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid778651_00.v03-00/"
-    OUTPUTDATA="user.limbach.TauPi0RecESD2ESDforD3PD_mp.147818.Pythia8_AU2CTEQ6L1_Ztautau_tid778651_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-elif [ "$DATASETTOUSE" == "CellBasedSeptember" ]; then
-    INPUTDATA="user.bwinter.TauPi0RecESD2ESDforD3PD.147818.Pythia8_AU2CTEQ6L1_Ztautau.digit.RDO.e1176_s1479_s1470_d700.v02-00/"
-    OUTPUTDATA="user.limbach.September_TauPi0RecESD2ESDforD3PD.147818.Pythia8_AU2CTEQ6L1_Ztautau_$UNIQUEIDTOUSE.D3PD.root"
-    
-elif [ "$DATASETTOUSE" == "CellBasedOctober" ]; then
-    INPUTDATA="group.perf-tau.TauPi0Rec_D3PD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999074_00.v05-01/"
-    OUTPUTDATA="user.limbach.October_TauPi0RecESD2ESDforD3PD.147818.Pythia8_AU2CTEQ6L1_Ztautau_$UNIQUEIDTOUSE.D3PD.root"
-    
-    
-else
-    echo "ERROR   The sample $DATASETTOUSE is not valid."
-    VALIDSAMPLE="false"
-fi
-
-
-if [ "$VALIDSAMPLE" = "true" ]; then
-
-    #############################################
-    #                Submission
-    #
-    #############################################
-    
-    
-    
-    #Get command line options correct:
-    
-    JOBOPTIONS=" "$JOBOPTIONSDIR$JOBOPTIONSFILE
-    GBPERJOB=" --nGBPerJob=MAX"
-    SITE=" --site="$THESITE
-    TMPDIR=" --tmpDir=/tmp"
-#     FILESPERJOB=" --nFilesPerJob=1"
-    EXCLUDED=" --excludedSite="$EXCLUDEDSITES
-    USECLOUD=" --cloud="$CLOUD
-    INDS=" --inDS="$INPUTDATA
-    OUTDS=" --outDS="$OUTPUTDATA
-    
-    #get number of files correct
-    MAXFILES=""
-    if [ "$NMAXFILES" = "-1" ]; then
-        MAXFILES=""
-    else
-        MAXFILES=" --nFiles="$NMAXFILES
-    fi
-    
-    #get destination site correct
-    DESTSE=""
-    if [ "$DESTINATIONSITE" = "" ]; then
-        DESTSE=""
-    else
-        DESTSE=" --destSE="$DESTINATIONSITE
-    fi
-    
-    
-    
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    echo "INFO    Submitting a job to panda..."
-    echo "INFO    Options:"
-    echo "INFO          $JOBOPTIONS"
-    echo "INFO          $GBPERJOB"
-    echo "INFO          $SITE"
-    echo "INFO          $TMPDIR"
-    echo "INFO          $FILESPERJOB"
-    echo "INFO          $EXCLUDED"
-    echo "INFO          $USECLOUD"
-    echo "INFO          $MAXFILES"
-    echo "INFO          $DESTSE"
-    echo "INFO          $INDS"
-    echo "INFO          $OUTDS"
-    echo "INFO    ___________________________________________"
-    echo "INFO    "
-    
-    
-    TRAFOCOMMAND_LOCAL=""
-    TRAFOCOMMAND_GRID=""
-    
-    TRAFOCOMMAND_LOCAL="athena.py "$JOBOPTIONS
-    
-    # ===> cloud and site requirements
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${SITE}${TMPDIR}${FILESPERJOB}${EXCLUDED}${USECLOUD}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    # ===> cloud requirement
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${EXCLUDED}${USECLOUD}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    # ===> site exclusion
-    TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${EXCLUDED}${MAXFILES}${INDS}${OUTDS}${DESTSE}${JOBOPTIONS}
-    
-    # ===> no location exclusion
-    # TRAFOCOMMAND_GRID="pathena"${GBPERJOB}${TMPDIR}${FILESPERJOB}${MAXFILES}${INDS}${OUTDS}${JOBOPTIONS}
-    
-    
-    if [ "$EXECUTEOPTION" = "local" ]; then
-        echo "INFO    Will run athena locally to test..."
-        echo "INFO    Command that is executed:"
-        echo "INFO       $TRAFOCOMMAND_LOCAL"
-        $TRAFOCOMMAND_LOCAL
-    
-        
-    elif [ "$EXECUTEOPTION" = "grid" ]; then 
-        echo "INFO    Will submit pathena job"
-        echo "INFO    Command that is executed:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        $TRAFOCOMMAND_GRID
-    
-        
-    else
-        echo "INFO    Not submitting anything, only displaying commands:"
-        echo "INFO    "
-        echo "INFO    Local athena command:"
-        echo "INFO        $TRAFOCOMMAND_LOCAL"
-        echo "INFO    "
-        echo "INFO    GRID command for pathena:"
-        echo "INFO        $TRAFOCOMMAND_GRID"
-        echo "INFO    "
-    
-    fi
-    
-else 
-    echo "ERROR   No valid sample given!"
-fi
-
-
-echo "INFO    End of script."
-
-# end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/JobOptions_Main_PanTau.py b/PhysicsAnalysis/PanTauAnalysis/share/JobOptions_Main_PanTau.py
deleted file mode 100644
index 44c354ba5d6df06a64c5e1e540baf96053472e6a..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/JobOptions_Main_PanTau.py
+++ /dev/null
@@ -1,191 +0,0 @@
-
-import AthenaCommon.SystemOfUnits as Units
-
-
-# set up the job properties
-from PanTauAnalysis.Class_InformationHandler import InformationHandler
-infoHandler = InformationHandler()
-
-
-# copy the configuration from cellbased if requested
-from PanTauAnalysis.Config_PanTau import config_PanTau
-from tauRec.tauRecFlags import jobproperties as config_TauRec
-if config_PanTau.UseDefaultCellBasedConfig == True:
-    
-    # pi0-BDT cuts
-    config_PanTau.CellBased_EtaBinned_Pi0MVACut_1prong.set_Value_and_Lock( config_TauRec.tauRecFlags.pi0MVACuts_1prong() )
-    config_PanTau.CellBased_EtaBinned_Pi0MVACut_3prong.set_Value_and_Lock( config_TauRec.tauRecFlags.pi0MVACuts_mprong() )
-    
-    # Et cuts
-    config_PanTau.TauConstituents_Selection_Neutral_EtaBinned_EtCut.set_Value_and_Lock( config_TauRec.tauRecFlags.pi0EtCuts() )
-    config_PanTau.TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut.set_Value_and_Lock( config_TauRec.tauRecFlags.pi0EtCuts() )
-    
-    #print(config_PanTau.CellBased_EtaBinned_Pi0MVACut_1prong)
-    #print(config_PanTau.CellBased_EtaBinned_Pi0MVACut_3prong)
-    #print(config_PanTau.TauConstituents_Selection_Neutral_EtaBinned_EtCut)
-    #print(config_PanTau.TauConstituents_Selection_Pi0Neut_EtaBinned_EtCut)
-    
-    # Placeholder for future config
-    #config_PanTau.foobar.set_Value_And_Lock( config_TauRec. )
-    
-#end
-
-
-
-# Create tools
-# ==================================================================
-from AthenaCommon.AppMgr import ToolSvc
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_InformationStore
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_InputConverter
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_TauConstituentGetter
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_TauConstituentSelector
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_FeatureExtractor
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_HelperFunctions
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_ModeDiscriminator
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_DecayModeDeterminator
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_FourMomentumCalculator
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_DetailsArranger
-from PanTauAlgs.PanTauAlgsConf import PanTau__Alg_SeedBuilder
-
-from TrkVertexFitterUtils.TrkVertexFitterUtilsConf import Trk__TrackToVertexIPEstimator
-from TrkExTools.AtlasExtrapolator import AtlasExtrapolator
-theAtlasExtrapolator=AtlasExtrapolator()
-ToolSvc+=theAtlasExtrapolator
-
-python_Tool_TrackToVertexIPEstimator = Trk__TrackToVertexIPEstimator(Extrapolator = theAtlasExtrapolator)
-ToolSvc += python_Tool_TrackToVertexIPEstimator
-
-# ===> Information Store
-python_Tool_InformationStore = PanTau__Tool_InformationStore(   "PanTau_InformationStore",
-                                                                Infos_Int       = infoHandler.m_Infos_Int,
-                                                                Infos_Double    = infoHandler.m_Infos_Double,
-                                                                Infos_VecDouble = infoHandler.m_Infos_VecDouble,
-                                                                Infos_String    = infoHandler.m_Infos_String,
-                                                                Infos_VecString = infoHandler.m_Infos_VecString)
-python_Tool_InformationStore.OutputLevel = INFO
-ToolSvc += python_Tool_InformationStore
-
-# ===> Helper Functions
-python_Tool_HelperFunctions = PanTau__Tool_HelperFunctions("PanTau_HelperFunctions")
-python_Tool_HelperFunctions.OutputLevel = INFO
-ToolSvc += python_Tool_HelperFunctions
-
-# ===> Input Converter
-python_Tool_InputConverter  = PanTau__Tool_InputConverter("PanTau_InputConverter",
-                                                            Tool_InformationStore = python_Tool_InformationStore,
-                                                            Tool_HelperFunctions  = python_Tool_HelperFunctions)
-python_Tool_InputConverter.OutputLevel = INFO
-ToolSvc += python_Tool_InputConverter
-
-
-# ===> Tau Constituent Getter
-python_Tool_TauConstituentGetter = PanTau__Tool_TauConstituentGetter(   "PanTau_TauConstituentGetter",
-                                                                        Tool_InformationStore = python_Tool_InformationStore,
-                                                                        Tool_InputConverter   = python_Tool_InputConverter,
-                                                                        Tool_HelperFunctions  = python_Tool_HelperFunctions)
-python_Tool_TauConstituentGetter.OutputLevel = INFO
-ToolSvc += python_Tool_TauConstituentGetter
-
-# ===> Tau Constituent Selector
-python_Tool_TauConstituentSelector = PanTau__Tool_TauConstituentSelector( "PanTau_TauConstituentSelector",
-                                                                        Tool_InformationStore = python_Tool_InformationStore)
-python_Tool_TauConstituentSelector.OutputLevel = INFO
-ToolSvc += python_Tool_TauConstituentSelector
-
-
-# ===> Tau Feature Extractor
-python_Tool_FeatureExtractor = PanTau__Tool_FeatureExtractor(   "PanTau_FeatureExtractor",
-                                                                Tool_HelperFunctions            = python_Tool_HelperFunctions,
-                                                                Tool_TrackToVertexIPEstimator   = python_Tool_TrackToVertexIPEstimator,
-                                                                Tool_InformationStore           = python_Tool_InformationStore
-                                                                )
-python_Tool_FeatureExtractor.OutputLevel = INFO
-ToolSvc += python_Tool_FeatureExtractor
-
-
-# ===> Tau Four Momentum Calculator
-python_Tool_FourMomentumCalculator = PanTau__Tool_FourMomentumCalculator(   "PanTau_FourMomentumCalculator",
-                                                                            Tool_InformationStore           = python_Tool_InformationStore)
-python_Tool_FourMomentumCalculator.OutputLevel = INFO
-ToolSvc += python_Tool_FourMomentumCalculator
-
-
-# ===> Details arranger tool
-python_Tool_DetailsArranger = PanTau__Tool_DetailsArranger( "PanTau_DetailsArranger",
-                                                            Tool_InformationStore           = python_Tool_InformationStore)
-python_Tool_DetailsArranger.OutputLevel = INFO
-ToolSvc += python_Tool_DetailsArranger
-
-
-# ================================================
-# Decay Mode Separation Tools
-#
-# One tool for each mode + one tool to use them
-# need to have the Discri Tools for each input alg, because
-# based on the input alg, the weight and reference files differ
-
-from PanTauAnalysis.Config_PanTau import config_PanTau
-List_InputAlgs      = config_PanTau.Names_InputAlgorithms()
-
-for curInAlg in List_InputAlgs:
-    print("TopOptions_NewPanTau: Adding PanTau algorithms for input alg: " + curInAlg)
-    
-    
-    # ===> create the discri tools for this input algorithm
-    python_Tool_ModeDiscri_1p0n_vs_1p1n = PanTau__Tool_ModeDiscriminator(   "PanTau_ModeDiscri_1p0n_vs_1p1n_" + curInAlg,
-                                                                            Name_InputAlg           = curInAlg,
-                                                                            Name_ModeCase           = "1p0n_vs_1p1n",
-                                                                            Tool_InformationStore   = python_Tool_InformationStore,
-                                                                            Tool_HelperFunctions    = python_Tool_HelperFunctions)
-    python_Tool_ModeDiscri_1p0n_vs_1p1n.OutputLevel = INFO
-    ToolSvc += python_Tool_ModeDiscri_1p0n_vs_1p1n
-    
-    python_Tool_ModeDiscri_1p1n_vs_1pXn = PanTau__Tool_ModeDiscriminator(   "PanTau_ModeDiscri_1p1n_vs_1pXn_" + curInAlg,
-                                                                            Name_InputAlg           = curInAlg,
-                                                                            Name_ModeCase           = "1p1n_vs_1pXn",
-                                                                            Tool_InformationStore   = python_Tool_InformationStore,
-                                                                            Tool_HelperFunctions    = python_Tool_HelperFunctions)
-    python_Tool_ModeDiscri_1p1n_vs_1pXn.OutputLevel = INFO
-    ToolSvc += python_Tool_ModeDiscri_1p1n_vs_1pXn
-    
-    python_Tool_ModeDiscri_3p0n_vs_3pXn = PanTau__Tool_ModeDiscriminator(   "PanTau_ModeDiscri_3p0n_vs_3pXn_" + curInAlg,
-                                                                            Name_InputAlg           = curInAlg,
-                                                                            Name_ModeCase           = "3p0n_vs_3pXn",
-                                                                            Tool_InformationStore   = python_Tool_InformationStore,
-                                                                            Tool_HelperFunctions    = python_Tool_HelperFunctions)
-    python_Tool_ModeDiscri_3p0n_vs_3pXn.OutputLevel = INFO
-    ToolSvc += python_Tool_ModeDiscri_3p0n_vs_3pXn
-    
-    # ===> Tau Decay Mode Determinator for current input alg
-    Name_DecayModeDeterminator = "PanTau_DecayModeDeterminator_" + curInAlg
-    python_Tool_DecayModeDeterminator = PanTau__Tool_DecayModeDeterminator( Name_DecayModeDeterminator,
-                                                                            Tool_InformationStore               = python_Tool_InformationStore,
-                                                                            Tool_ModeDiscriminator_1p0n_vs_1p1n = python_Tool_ModeDiscri_1p0n_vs_1p1n,
-                                                                            Tool_ModeDiscriminator_1p1n_vs_1pXn = python_Tool_ModeDiscri_1p1n_vs_1pXn,
-                                                                            Tool_ModeDiscriminator_3p0n_vs_3pXn = python_Tool_ModeDiscri_3p0n_vs_3pXn)
-    python_Tool_DecayModeDeterminator.OutputLevel = INFO
-    ToolSvc += python_Tool_DecayModeDeterminator
-    
-    
-    # ===> The main algorithm
-    Name_SeedBuilder = "PanTau_SeedBuilder_" + curInAlg
-    python_Alg_SeedBuilder = PanTau__Alg_SeedBuilder(  Name_SeedBuilder,
-                                                Name_InputAlg               = curInAlg,
-                                                Tool_InformationStore       = python_Tool_InformationStore,
-                                                Tool_TauConstituentGetter   = python_Tool_TauConstituentGetter,
-                                                Tool_TauConstituentSelector = python_Tool_TauConstituentSelector,
-                                                Tool_FeatureExtractor       = python_Tool_FeatureExtractor,
-                                                Tool_DecayModeDeterminator  = python_Tool_DecayModeDeterminator,
-                                                Tool_FourMomentumCalculator = python_Tool_FourMomentumCalculator,
-                                                Tool_DetailsArranger        = python_Tool_DetailsArranger)
-    python_Alg_SeedBuilder.OutputLevel = INFO
-    topSequence += python_Alg_SeedBuilder
-    
-    
-#end for loop over input algs
-
-
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-D3PD_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-D3PD_TopOptions.py
deleted file mode 100644
index 390022e010b728433f7e91df08c28daeac8a6c23..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-D3PD_TopOptions.py
+++ /dev/null
@@ -1,175 +0,0 @@
-#////////////////////////////////////////////////////////////////////
-#
-#  topOptions for PanTau:
-#       Input : An AOD that contains the eflowRec container eflowObjects_tauMode and the tauRecContainer
-#       Output: A TauD3PD that contains an enhanced tau block:
-#               - tau_pantau block:
-#                   These variables are available in official AOD
-#
-#               - tau_pantauFeature block:
-#                   These variables are not available in the official AOD
-#                   However, these are all the variables from the
-#                   PanTau::TauSeed that are available
-#                   These variables should be used for performance studies
-#
-#   This jobOption file will work when submitting GRID jobs!
-#   Simply use the script 
-#           submit-pathena-job_AOD_to_PanTauD3PD.sh
-#   to submit the jobs for a single sample, or use
-#           Launch_GridJobs.sh
-#   to submit jobs for all desired samples
-#
-#////////////////////////////////////////////////////////////////////
-
-
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-    #--------------------------------  A O D
-    #athenaCommonFlags.FilesInput=['/tmp/limbach/mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.merge.AOD.e1176_a159_a165_r3549_tid00842349_00/AOD.00842349._000102.pool.root.1']
-    athenaCommonFlags.FilesInput=['AODfromRecoTrf.pool.root']
-    
-athenaCommonFlags.EvtMax=100#250  # number of events to process run on all file
-
-
-#//////////////////////////////////
-#   jobOption flags
-#//////////////////////////////////
-
-UsingAODFromMark = False
-includePanTauInRecExCommon = False # Set to true for PanTau output in AOD
-
-from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-import AthenaCommon.SystemOfUnits as Units
-PSB_Flags.Config_DoRunTimeHists = True # create root file with runtime hists from SeedBuilder
-PSB_Flags.Config_EfoSel_DoEfoSelection = True # False is the default until proven 'True' is better
-PSB_Flags.Config_EfoSel_PiZeroBDTThreshold = -0.04;
-PSB_Flags.Config_Presel_DoPreselection = False
-
-#tauRec vicinity check
-PSB_Flags.Config_DoTauRecVicinityCheck      = False
-PSB_Flags.Config_DeltaRTauRecVicinityCheck  = 1.2
-PSB_Flags.Config_KeepOverlapTauRecVicinity  = False
-
-
-#configure storage of output D3PD...
-from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-panTauDPDFlags.PanTauPerfD3PDName = "TauPerfTestFromAOD.root"
-
-#...add truth info in D3PD
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( True )
-
-
-#//////////////////////////////////
-#   Main Job Options
-#//////////////////////////////////
-
-# !!!                                            !!! #
-# !!! You must not modify flags below this point !!! #
-# !!!                                            !!! #
-
-#Basic PanTau config
-from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags.ExtractAllFeatures.set_Value_and_Lock(True)
-
-#from ParticleBuilderOptions.AODFlags import AODFlags
-#AODFlags.McEventKeyStr.set_Value_and_Lock('GEN_AOD')       # needs to be in for AOD->D3PD
-
-#from JetRec.JetRecFlags import jetFlags
-#jetFlags.inputTruthColl_RECO.set_Value_and_Lock('GEN_AOD')# needs to be in for AOD->D3PD
-
-#from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-#D3PDMakerFlags.TruthSGKey.set_Value_and_Lock('GEN_AOD')# needs to be in for AOD->D3PD
-#D3PDMakerFlags.CellsSGKey.set_Value_and_Lock('AODCellContainer')
-#D3PDMakerFlags.JetSGKey.set_Value_and_Lock('AntiKt4LCTopoJets')
-
-#Fixes for marks AOD
-if UsingAODFromMark:
-    from RecExConfig.RecAlgsFlags import recAlgs
-    recAlgs.doTrigger.set_Value_and_Lock(False)
-    D3PDMakerFlags.DoTrigger.set_Value_and_Lock(False)
-    rec.doTrigger.set_Value_and_Lock(False)
-    rec.noESDTrigger.set_Value_and_Lock(True)
-    rec.doApplyAODFix.set_Value_and_Lock(False)
-
-
-rec.readAOD      = True    # True in AOD->D3PD
-rec.readESD      = False     # False in AOD->D3PD
-rec.readRDO      = False
-rec.doCBNT       = False
-rec.doWriteESD   = False
-rec.doWriteTAG   = False
-rec.doPerfMon    = False
-rec.doHist       = False
-
-if includePanTauInRecExCommon:
-    rec.doAOD.set_Value_and_Lock(True)
-    rec.doWriteAOD.set_Value_and_Lock(True)
-else:
-    rec.doAOD.set_Value_and_Lock(False)
-    rec.doWriteAOD.set_Value_and_Lock(False)
-
-# commented out in AOD->D3PD
-from AthenaServices.AthenaServicesConf import AthenaEventLoopMgr
-ServiceMgr += AthenaEventLoopMgr()
-
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-
-# need to include PanTau explicitely, since it's "protected" by doAOD in RecExCommon
-if includePanTauInRecExCommon:
-    rec.UserAlgs=[ "PanTauAnalysis/PanTau_Main_TopOptions.py" ]
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-if not includePanTauInRecExCommon:
-    include("PanTauAnalysis/PanTau_Main_TopOptions.py")
-
-ServiceMgr.AthenaEventLoopMgr.EventPrintoutInterval = 1
-
-
-#//////////////////////////////////
-#   D3PD Output
-#//////////////////////////////////
-
-dpdname = panTauDPDFlags.PanTauPerfD3PDName()
-
-from TauD3PDMaker.tauPerf import tauPerf
-alg = tauPerf ( level = 10,
-                   file=dpdname,
-                   doPhys = True,
-                   doCl = True,
-                   doCell = False,
-                   doPi0BonnDevVars = True,
-                   doTrk = True,
-                   doHad = True,
-                   doOtherTrk = True,
-                   tuplename = 'tau',
-                   seq = topSequence,
-                   D3PDSvc = 'D3PD::RootD3PDSvc',
-                   doMETSkimVariables = False,
-                   streamName = "TauPERF")
-#
-
-#//////////////////////////////////
-#   Silence over abundant messages
-#//////////////////////////////////
-############################
-#Silence Trig Navigation Warnings
-from AthenaCommon.AppMgr import ToolSvc
-if not hasattr( ToolSvc, "TrigDecisionTool" ):
-    from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
-    ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" )
-    ToolSvc.TrigDecisionTool.Navigation.OutputLevel = ERROR
-    ToolSvc.TrigDecisionTool.OutputLevel = ERROR
-#############################
-StoreGateSvc.OutputLevel = FATAL
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-eflowStudyD3PD_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-eflowStudyD3PD_TopOptions.py
deleted file mode 100644
index 4a85ab35751bd83d1018058da43e397b78317975..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_AOD-to-eflowStudyD3PD_TopOptions.py
+++ /dev/null
@@ -1,206 +0,0 @@
-
-#
-# JobOptions to produce a D3PD tailored for Peter's eflow Studies
-# 
-#   Input: Any AOD with eflowRec container
-#
-#   Output: A D3PD usable for detailed eflowStudies
-#
-#   Note: These JO can be submitted via pathena!
-
-
-SGKEY_eflowObjects = "eflowObjects_tauMode"
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-    
-    #--------------------------------  A O D
-    #generic test AOD for changing purposes...
-    #athenaCommonFlags.FilesInput=['AOD.pool.root']
-    
-    #Test AOD that has EFOs with cell info assigned to them
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/scratch0/SavedAODs/MarksTestAOD_EFOsWithCellInfo/AOD.pool.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/scratch0/SavedAODs/MarksTestAOD_Oct22/AOD_Oct22.pool.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/scratch0/SavedAODs/MarksTestAOD_17252_CalHits/AOD_17252_CalHits.pool.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/public/AOD_17252_CalHits_Latest.pool.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AOD_17214_500Events_Oct31.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AOD_17214_500Events_Nov19_NoPileup.root'] #no pileup
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/public/AOD_test12Dec.pool.root']
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AODFiles_16Dec/AOD_1.pool.root']
-    #
-    #athenaCommonFlags.FilesInput=['AOD_withNewEflowObjects.pool.root']
-    
-    
-    # Sample with Split Shower Alg and the k_1 parameter set to 0
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AODFiles_17Dec_k1_0/AOD_1.pool.root']
-    
-    # Sample with Split Shower Alg
-    athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AODFiles_16Dec/AOD_1.pool.root']
-    
-    # Sample without Split Shower Alg. A bug was fixed, 
-    #### NOTE: eflowObjects are called: eflowObjects01 (!)
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/m/mhodgkin/work/AODFiles_1Feb_noSplotShowerRecoverAlg/AOD_1.pool.root']
-    #SGKEY_eflowObjects = "eflowObjects01"
-    
-athenaCommonFlags.EvtMax=10#250  # number of events to process run on all file
-
-from tauRec.tauRecFlags import jobproperties
-jobproperties.tauRecFlags.Enabled.set_Value_and_Lock(False)
-jobproperties.tauRecFlags.doRunTauDiscriminant.set_Value_and_Lock(False)
-
-#...add truth info in D3PD
-doTrigger=False
-doTAG=False
-
-from RecExConfig.RecFlags import rec,Rec
-rec.doCBNT.set_Value_and_Lock(False)
-rec.doWriteESD.set_Value_and_Lock(False) 
-rec.doESD.set_Value_and_Lock(False) 
-rec.doAOD.set_Value_and_Lock(False)
-#rec.doTruth.set_Value_and_Lock( True )
-
-#disable the AODFix (should resolve problems with tau->pt() being 0.00191628)
-rec.doApplyAODFix.set_Value_and_Lock(False)
-
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-
-
-
-####  ####  ####  ####  ####  ####  ####  ####  ####
-#
-# Define the D3PD Stream
-#
-####  ####  ####  ####  ####  ####  ####  ####  ####
-
-## ////////////////////////////////////////////////
-## Define the D3PD Stream
-
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-alg = MSMgr.NewRootStream("EFLOWD3PDSTREAM", "Test_eflowD3PD_16Dec_WithSplitShower_10Evts.root", "eflowD3PD")
-
-# algs to run prior to dumping
-from eflowD3PDMaker.eflowD3PDMakerConf import eflowClusterSelector
-eflowClusSelector = eflowClusterSelector()
-topSequence += eflowClusSelector
-
-
-from eflowRec.eflowTrackToCaloTrackExtrapolatorTool import eflowTrackToCaloTrackExtrapolatorToolDefault
-TrackToCaloTrackExtrapolatorToolDefault=eflowTrackToCaloTrackExtrapolatorToolDefault()
-
-
-
-####  ####  ####  ####  ####  ####  ####  ####  ####
-#
-#                       Configure the D3PD
-#
-####  ####  ####  ####  ####  ####  ####  ####  ####
-
-
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-
-
-#### The basic kinematics ####
-from eflowD3PDMaker.eflowD3PDObject import *
-eflowD3PDObject = D3PDObject (makeeflowD3PDObject, 'eflowBase_')
-eflowD3PDObject.SGKey = SGKEY_eflowObjects
-eflowD3PDObject.defineBlock(0, 'Kinematics', eflowD3PDMakerConf.D3PD__eflowFillerTool)
-eflowD3PDObject.defineBlock (0, 'Details', eflowD3PDMakerConf.D3PD__eflowObjectDetailsFillerTool)
-alg += eflowD3PDObject(level=10)
-
-
-#### The track variables ####
-from eflowD3PDMaker.eflowTrackD3PDObject import *
-eflowTrackD3PDObject = D3PDObject (makeeflowTrackD3PDObject, 'eflowTrack_')
-eflowTrackD3PDObject.SGKey = SGKEY_eflowObjects
-eflowTrackD3PDObject.defineBlock(   0,'eflowTrack', eflowD3PDMakerConf.D3PD__eflowTrackFillerTool,
-                                    eflowTrackToCaloTrackExtrapolatorTool = TrackToCaloTrackExtrapolatorToolDefault)
-alg += eflowTrackD3PDObject(10)
-
-
-#### The calibration hits ####
-from calCellInfoD3PDMaker.calCellInfoD3PDObject import *
-calCellInfoD3PDObject = D3PDObject(makecalCellInfoD3PDObject,'CalCellInfo_')
-calCellInfoD3PDObject.defineBlock(0,'CallCellInfo', calCellInfoD3PDMakerConf.D3PD__calCellInfoFillerTool)
-alg += calCellInfoD3PDObject(10)
-
-
-#### The calibration hits ####
-from calCellInfoD3PDMaker.calCellInfoD3PDObject import *
-calCellInfoD3PDObject = D3PDObject(makecalCellInfoD3PDObject,'CalCellInfoPreSub_')
-calCellInfoD3PDObject.defineBlock(0,'CallCellInfoPreSub', calCellInfoD3PDMakerConf.D3PD__calCellInfoFillerTool)
-alg += calCellInfoD3PDObject(10, sgkey='CalCellInfo_preSubtraction')
-
-
-#### TauRec block ####
-import TrackD3PDMaker
-from D3PDMakerCoreComps.ContainedVectorMultiAssociation     import ContainedVectorMultiAssociation
-from D3PDMakerCoreComps.SimpleAssociation                   import SimpleAssociation
-
-#Test A
-from D3PDMakerCoreComps.D3PDObject                          import make_SGDataVector_D3PDObject
-from D3PDMakerConfig.D3PDMakerFlags                         import D3PDMakerFlags
-from TauD3PDMaker.TauD3PDMakerConf                          import D3PD__TauPIDFillerTool
-from TauD3PDMaker.TauD3PDMakerConf                          import D3PD__TauJetFillerTool
-from TauD3PDMaker.TauD3PDMakerConf                          import D3PD__TauTrackAssociationTool
-from TauD3PDMaker.TauD3PDMakerConf                          import D3PD__TauTrackToOriginFillerTool
-import EventCommonD3PDMaker
-
-TauD3PDObject = make_SGDataVector_D3PDObject( "Analysis::TauJetContainer", D3PDMakerFlags.TauSGKey(), "tau_", "TauD3PDObject" )
-TauD3PDObject.defineBlock (0, 'Kinematics', EventCommonD3PDMaker.FourMomFillerTool, WriteEt = True, WritePt = True)
-TauD3PDObject.defineBlock (0, 'Charge', EventCommonD3PDMaker.ChargeFillerTool)
-TauD3PDObject.defineBlock (0, 'PID', D3PD__TauPIDFillerTool)
-TauD3PDObject.defineBlock (0, 'TauJet', D3PD__TauJetFillerTool)
-TauD3PDObject.defineBlock (0, 'TracksToOrigin', D3PD__TauTrackToOriginFillerTool)
-# Associate tau with its tracks
-TauTrackAssoc = ContainedVectorMultiAssociation \
-            (TauD3PDObject,
-             D3PD__TauTrackAssociationTool,prefix='track_')
-TrackParticlePerigeePVAssoc = SimpleAssociation \
-        (TauTrackAssoc,
-         TrackD3PDMaker.TrackParticlePerigeeAtPVAssociationTool,
-         prefix = 'atPV_',
-             blockname = 'SeedCaloTrkPVAssoc')
-TrackParticlePerigeePVAssoc.defineBlock (2, 'TrkPV',
-                                       TrackD3PDMaker.TrackPerigeeFillerTool,
-                                       FillMomentum = True)
-alg += TauD3PDObject(10)
-
-#### Add the primary vertex ####
-from TrackD3PDMaker.VertexD3PDObject                import PrimaryVertexD3PDObject
-alg += PrimaryVertexD3PDObject (0, allowMissing = True,
-                                sgkey = D3PDMakerFlags.VertexSGKey(),
-                                prefix = 'vxp_')
-
-
-#### Prepare for truth info ####
-from D3PDMakerConfig.D3PDMakerFlags                 import D3PDMakerFlags
-from TruthD3PDAnalysis.truthParticleConfig          import truthParticleConfig
-D3PDMakerFlags.TruthParticlesSGKey = 'INav4MomTruthEvent'
-truthParticleConfig(topSequence, sgkey=D3PDMakerFlags.TruthParticlesSGKey(), writeHadrons=True, writePartons=True, writeGeant=False)
-
-
-#### Even more truth information ####
-from TruthD3PDMaker.GenEventD3PDObject              import GenEventD3PDObject
-from TruthD3PDMaker.TruthParticleD3PDObject         import TruthParticleD3PDObject
-alg += TruthParticleD3PDObject (10, sgkey=D3PDMakerFlags.TruthParticlesSGKey())
-
-
-#### Get the true taus into d3pd ####
-from TauD3PDMaker.TauD3PDMakerConf import TruthTausToSG
-topSequence += TruthTausToSG()
-from TauD3PDMaker.TruthTauD3PDObject                import TruthTauD3PDObject
-alg += TruthTauD3PDObject(10)
-
-
-#### Get the clusters ####
-from CaloD3PDMaker.ClusterD3PDObject                import ClusterD3PDObject
-alg += ClusterD3PDObject (10, include='Kinematics')
-
-
-
-
-#end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_RerunEflow_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_RerunEflow_TopOptions.py
deleted file mode 100644
index 3ad1d4fe777a992e2c4b450d31d238ce68d58780..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_RerunEflow_TopOptions.py
+++ /dev/null
@@ -1,117 +0,0 @@
-# //////////////////////////////////////////////////////////////////
-#
-# Job Options to... start from a (D)ESD, run eflowRec to create a eflowRecContainer in the transient
-#                   AOD then run PanTau on that AOD and have it D3PD-alized by the TauD3PDMaker. Wow!
-#
-#To be verified:
-#   These JO can be submitted to the GRID by the corresponding script in the scripts folder
-# //////////////////////////////////////////////////////////////////
-
-
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-athenaCommonFlags.EvtMax=100
-#athenaCommonFlags.FilesInput=["/tmp/limbach/data11_7TeV.00187501.physics_Muons.recon.DESD_ZMUMU.f396_m716_r2764_tid530016_00/DESD_ZMUMU.530016._000004.pool.root.1"]
-athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/scratch0/SavedAODs/data11_7TeV.00191933.physics_JetTauEtmiss.merge.AOD.r3047_r3053_p673_tid619449_00/AOD.619449._000002.pool.root.1']
-
-
-## ////////////////////////////////////////////////
-## eflowRec Part
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( False )
-rec.doCBNT.set_Value_and_Lock(False)
-rec.doWriteESD.set_Value_and_Lock(False)
-rec.doWriteAOD.set_Value_and_Lock(False) #explicitly disable for GRID jobs, use offline in testing for checks
-rec.doAOD.set_Value_and_Lock(True)
-
-# enable eflowRec
-from RecExConfig.RecAlgsFlags import recAlgs
-recAlgs.doEFlow.set_Value_and_Lock(True)
-
-# change some calo flags (Mark's JO)
-from CaloRec.CaloRecFlags import jobproperties as CaloRecJP
-CaloRecJP.CaloRecFlags.Enabled.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloCluster.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True)
-
-# set eflowRec to tauMode
-from eflowRec.eflowRecFlags import jobproperties as eflowRecJP
-eflowRecJP.eflowRecFlags.runTauMode.set_Value_and_Lock(True)
-
-
-
-## ////////////////////////////////////////////////
-## PanTau / D3PD Part
-from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-panTauDPDFlags.PanTauPerfD3PDName = "ValidationTest_ESD-to-D3PD"
-panTauDPDFlags.PanTauPerfD3PDSize = "medium"
-
-from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags.GetImpactParameterFeatures = True # test to see whether FPEs vanish
-panTauFlags.GetJetFeatures = True # test to see whether FPEs vanish
-
-from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-PSB_Flags.DoRunTimeHists = False # create root file with runtime hists from SeedBuilder
-
-from ParticleBuilderOptions.AODFlags import AODFlags
-AODFlags.McEventKeyStr.set_Value_and_Lock('GEN_AOD')
-
-from JetRec.JetRecFlags import jetFlags
-jetFlags.inputTruthColl_RECO.set_Value_and_Lock('GEN_AOD')
-
-from D3PDMakerConfig.D3PDMakerFlags import D3PDMakerFlags
-D3PDMakerFlags.TruthSGKey.set_Value_and_Lock('GEN_AOD')
-D3PDMakerFlags.CellsSGKey.set_Value_and_Lock('AODCellContainer')
-D3PDMakerFlags.JetSGKey.set_Value_and_Lock('AntiKt4LCTopoJets')
-
-
-
-
-## ////////////////////////////////////////////////
-## Execution part
-
-#Main JobOptions
-include("RecExCommon/RecExCommon_topOptions.py")
-
-#Add PanTau
-from AthenaCommon.AlgSequence import AlgSequence
-include("PanTauAnalysis/TauIdAnalysis_topOptions.py")
-
-# Add eflowContainers
-# Build AOD objects and write them out to a POOL file
-from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-StreamAOD = AthenaPoolOutputStream( "StreamAOD" )
-import AthenaCommon.PropertiesManip as manip
-manip.appendItemsToList(StreamAOD,'ItemList','eflowObjectContainer#eflowObjects_tauMode')
-manip.appendItemsToList(StreamAOD,'ItemList','CaloClusterContainer#eflowClusters_tauMode')
-
-#adjusting outputlevels to get rid of over abundant warnings from MuonMET something
-from JetMissingEtTagTools.JetMissingEtTagToolsConf import JetMissingEtTagTool as ConfiguredJetMissingEtTagTool
-ConfiguredJetMissingEtTagTool.OutputLevel = ERROR
-
-#Silence the TrigDecision tool
-ToolSvc.TrigDecisionTool.OutputLevel = ERROR
-
-#Silence the StoreGateSvc
-StoreGateSvc = Service("StoreGateSvc")
-StoreGateSvc.OutputLevel = ERROR
-
-
-#Add the D3PD algorithm
-dpdname = panTauDPDFlags.PanTauPerfD3PDName()
-dpdsize = panTauDPDFlags.PanTauPerfD3PDSize().lower()
-
-if dpdsize.find("small") is not -1:
-    from TauD3PDMaker.tauPerfSmall import tauPerfSmall
-    alg = tauPerfSmall (file=dpdname+"Small.root", level=10, tuplename="tau", streamName="TauSMALL")
-    #alg.AddRequireAlgs(["ZMuMuTriggerFilter", "ZMuMuMuonFilter", "ZMuMuZMuMuFilter", "ZMuMuTauFilter"])
-
-elif dpdsize.find("medium") is not -1:
-    from TauD3PDMaker.tauPerfMedium import tauPerfMedium
-    alg = tauPerfMedium (file=dpdname+".root", doCl = True, doTrk = False, doHad = True, level=10, tuplename='tau', streamName="TauMEDIUM")
-    #alg.AddRequireAlgs(["ZMuMuTriggerFilter", "ZMuMuMuonFilter", "ZMuMuZMuMuFilter", "ZMuMuTauFilter"])
-
-
-
-
-# end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_TopOptions.py
deleted file mode 100644
index 86f855492c03078039aac8d2d02629618872dc07..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-D3PD_TopOptions.py
+++ /dev/null
@@ -1,163 +0,0 @@
-#////////////////////////////////////////////////////////////////////
-#
-#  topOptions for PanTau:
-#       Input : An ESD that contains the eflowRec container eflowObjects_tauMode and the tauRecContainer
-#       Output: A TauD3PD that contains an enhanced tau block:
-#               - tau_pantau block:
-#                   These variables are available in official AOD
-#
-#               - tau_pantauFeature block:
-#                   These variables are not available in the official AOD
-#                   However, these are all the variables from the
-#                   PanTau::TauSeed that are available
-#                   These variables should be used for performance studies
-#
-#   This jobOption file will work when submitting GRID jobs!
-#   Simply use the script 
-#           submit-pathena-job_AOD_to_PanTauD3PD.sh
-#   to submit the jobs for a single sample, or use
-#           Launch_GridJobs.sh
-#   to submit jobs for all desired samples
-#
-#////////////////////////////////////////////////////////////////////
-
-
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-    #athenaCommonFlags.FilesInput=['/tmp/limbach/user.bwinter.TauPi0RecESD2ESDforD3PD_test.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00.v00-00.130321120743/user.bwinter.000603.EXT0._02502.ESD.pool.root']
-#    athenaCommonFlags.FilesInput=['/tmp/limbach/mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00/ESD.00999072._006001.pool.root.1']
-    #athenaCommonFlags.FilesInput=['/tmp/limbach/user.bwinter.TauPi0RecESD2ESDforD3PD_test.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00.v01-00.130322163340/user.bwinter.000611.EXT0._00030.ESD.pool.root']
-    
-    #lxplus428:
-    athenaCommonFlags.FilesInput=['/tmp/limbach/user.bwinter.TauPi0RecESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999072_00.v00-01.130222100411/user.bwinter.000509.EXT0._01085.ESD.pool.root']
-athenaCommonFlags.EvtMax=100  # number of events to process run on all file
-
-
-#//////////////////////////////////
-#   jobOption flags
-#//////////////////////////////////
-
-includePanTauInRecExCommon = False # Set to true for PanTau output in AOD
-
-from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-import AthenaCommon.SystemOfUnits as Units
-PSB_Flags.Config_DoRunTimeHists = True # create root file with runtime hists from SeedBuilder
-PSB_Flags.Config_EfoSel_DoEfoSelection = True # False is the default until proven 'True' is better
-PSB_Flags.Config_EfoSel_PiZeroBDTThreshold = -0.04;
-PSB_Flags.Config_Presel_DoPreselection = False
-
-#tauRec vicinity check
-PSB_Flags.Config_DoTauRecVicinityCheck      = False
-PSB_Flags.Config_DeltaRTauRecVicinityCheck  = 1.2
-PSB_Flags.Config_KeepOverlapTauRecVicinity  = False
-
-
-#configure storage of output D3PD...
-from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-panTauDPDFlags.PanTauPerfD3PDName = "TauPerfTest_from__inputForTauPi0RecESD2ESDforD3PD_test.root"
-
-#...add truth info in D3PD
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( True )
-#rec.AutoConfiguration = [ "everything" ]
-
-#//////////////////////////////////
-#   Main Job Options
-#//////////////////////////////////
-
-# !!!                                            !!! #
-# !!! You must not modify flags below this point !!! #
-# !!!                                            !!! #
-
-#Basic PanTau config
-from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags.ExtractAllFeatures.set_Value_and_Lock(True)
-
-rec.readAOD      = False
-rec.readESD      = True
-rec.readRDO      = False
-rec.doCBNT       = False
-rec.doWriteESD   = False
-rec.doWriteTAG   = False
-rec.doPerfMon    = False
-rec.doHist       = False
-
-if includePanTauInRecExCommon:
-    rec.doAOD.set_Value_and_Lock(True)
-    rec.doWriteAOD.set_Value_and_Lock(True)
-else:
-    rec.doAOD.set_Value_and_Lock(False)
-    rec.doWriteAOD.set_Value_and_Lock(False)
-
-# commented out in AOD->D3PD
-from AthenaServices.AthenaServicesConf import AthenaEventLoopMgr
-ServiceMgr += AthenaEventLoopMgr()
-
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-
-# need to include PanTau explicitely, since it's "protected" by doAOD in RecExCommon
-#if includePanTauInRecExCommon:
-    #rec.UserAlgs=[ "PanTauAnalysis/PanTau_Main_TopOptions.py" ]
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-if not includePanTauInRecExCommon:
-    #include("PanTauAnalysis/PanTau_Main_TopOptions.py")
-
-    from TauD3PDMaker.TauD3PDMakerConf import TruthTausToSG
-    if rec.readESD():
-        TruthTausToSG.truth_container="INav4MomTruthEvent"
-    print("climbach: updated TruthTausToSG to be INav4MomTruthEvent")
-    topSequence += TruthTausToSG()
-    
-    
-ServiceMgr.AthenaEventLoopMgr.EventPrintoutInterval = 1
-
-
-
-#//////////////////////////////////
-#   D3PD Output
-#//////////////////////////////////
-
-dpdname = panTauDPDFlags.PanTauPerfD3PDName()
-
-from TauD3PDMaker.tauPerf import tauPerf
-alg = tauPerf ( level = 10,
-                   file=dpdname,
-                   doPhys = True,
-                   doCl = True,
-                   doCell = False,
-                   doPi0BonnDevVars = False,
-                   doTrk = True,
-                   doHad = True,
-                   doOtherTrk = True,
-                   tuplename = 'tau',
-                   seq = topSequence,
-                   D3PDSvc = 'D3PD::RootD3PDSvc',
-                   doMETSkimVariables = False,
-                   streamName = "TauPERF")
-    
-
-#//////////////////////////////////
-#   Silence over abundant messages
-#//////////////////////////////////
-############################
-#Silence Trig Navigation Warnings
-from AthenaCommon.AppMgr import ToolSvc
-if not hasattr( ToolSvc, "TrigDecisionTool" ):
-    from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
-    ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" )
-    ToolSvc.TrigDecisionTool.Navigation.OutputLevel = ERROR
-    ToolSvc.TrigDecisionTool.OutputLevel = ERROR
-#############################
-StoreGateSvc.OutputLevel = FATAL
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowAOD_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowAOD_TopOptions.py
deleted file mode 100644
index 34abb6d89732701fb05b432297ac90db58ac68a2..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowAOD_TopOptions.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-#athenaCommonFlags.FilesInput=["/atlas1/atlas/mc11_7TeV.107054.PythiaWtaunu_incl.recon.ESD.e825_s1349_s1300_r3604_tid792515_00/ESD.792515._000093.pool.root.2"]
-#athenaCommonFlags.FilesInput=["/atlas1/atlas/mc11_7TeV.107054.PythiaWtaunu_incl.recon.ESD.e825_s1349_s1300_r3604_tid792515_00/ESD.792515._000041.pool.root.1"]
-#athenaCommonFlags.FilesInput=["/tmp/limbach/data11_7TeV.00187501.physics_Muons.recon.DESD_ZMUMU.f396_m716_r2764_tid530016_00/DESD_ZMUMU.530016._000004.pool.root.1"]
-athenaCommonFlags.FilesInput=["/tmp/limbach/mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1484_s1470_r3578_tid783783_00/ESD.783783._000006.pool.root.1"]
-
-
-
-from RecExConfig.RecFlags import rec#,Rec
-rec.doCBNT.set_Value_and_Lock(False)
-rec.doWriteESD.set_Value_and_Lock(False)
-#rec.doESD.set_Value_and_Lock(True)
-rec.doAOD.set_Value_and_Lock(True)
-
-from RecExConfig.RecAlgsFlags import recAlgs
-recAlgs.doEFlow.set_Value_and_Lock(True)
-#recAlgs.doTrigger.set_Value_and_Lock(True)
-
-##change some calo flags
-from CaloRec.CaloRecFlags import jobproperties as CaloRecJP
-CaloRecJP.CaloRecFlags.Enabled.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloCluster.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True)
-
-from eflowRec.eflowRecFlags import jobproperties as eflowRecJP
-eflowRecJP.eflowRecFlags.runTauMode.set_Value_and_Lock(True)
-
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-athenaCommonFlags.EvtMax=20
-include("RecExCommon/RecExCommon_topOptions.py")
-
-import AthenaCommon.PropertiesManip as manip
-
-manip.appendItemsToList(StreamAOD,'ItemList','eflowObjectContainer#eflowObjects_tauMode')
-manip.appendItemsToList(StreamAOD,'ItemList','CaloClusterContainer#eflowClusters_tauMode')
-
-#adjusting outputlevels to get rid of over abundant warnings from MuonMET something
-from JetMissingEtTagTools.JetMissingEtTagToolsConf import JetMissingEtTagTool as ConfiguredJetMissingEtTagTool
-ConfiguredJetMissingEtTagTool.OutputLevel = ERROR
-StoreGateSvc = Service("StoreGateSvc")
-StoreGateSvc.OutputLevel = ERROR
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowStudyD3PD_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowStudyD3PD_TopOptions.py
deleted file mode 100644
index 5a5f5a6402f8ca1906120029236f7c57460eaa57..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_ESD-to-eflowStudyD3PD_TopOptions.py
+++ /dev/null
@@ -1,141 +0,0 @@
-# //////////////////////////////////////////////////////////////////
-#
-# Job Options to... start from a (D)ESD, run eflowRec to create a eflowRecContainer in the transient
-#                   AOD along with the calibration hit information.
-#                   Then dump the contents into a D3PD
-#
-#To be verified:
-#   These JO can be submitted to the GRID by the corresponding script in the scripts folder
-# //////////////////////////////////////////////////////////////////
-
-
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-athenaCommonFlags.EvtMax=200
-athenaCommonFlags.FilesInput=["/tmp/limbach/mc12_8TeV.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3578_tid783779_00/ESD.783779._000975.pool.root.1"]
-
-
-
-## ////////////////////////////////////////////////
-## eflowRec Part
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( False )
-rec.doCBNT.set_Value_and_Lock(False)
-rec.doWriteESD.set_Value_and_Lock(False)
-rec.doWriteAOD.set_Value_and_Lock(False) #explicitly disable for GRID jobs, use offline in testing for checks
-rec.doAOD.set_Value_and_Lock(True)
-
-# enable eflowRec
-from RecExConfig.RecAlgsFlags import recAlgs
-recAlgs.doEFlow.set_Value_and_Lock(True)
-
-# change some calo flags (Mark's JO)
-from CaloRec.CaloRecFlags import jobproperties as CaloRecJP
-CaloRecJP.CaloRecFlags.Enabled.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloCluster.set_Value_and_Lock(True)
-CaloRecJP.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True)
-
-# set eflowRec to tauMode
-from eflowRec.eflowRecFlags import jobproperties as eflowRecJP
-eflowRecJP.eflowRecFlags.runTauMode.set_Value_and_Lock(True)
-
-# set noise fags (Mark's JO)
-from CaloTools.CaloNoiseFlags import jobproperties as CaloNoiseJP
-CaloNoiseJP.CaloNoiseFlags.FixedLuminosity.set_Value_and_Lock(1.45)
-
-
-
-## ////////////////////////////////////////////////
-## Execution part
-
-#...add truth info in D3PD
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( True )
-
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-# Add eflowContainers
-# Build AOD objects and write them out to a POOL file
-from AthenaPoolCnvSvc.WriteAthenaPool import AthenaPoolOutputStream
-StreamAOD = AthenaPoolOutputStream( "StreamAOD" )
-
-import AthenaCommon.PropertiesManip as manip
-manip.appendItemsToList(StreamAOD,'ItemList','eflowObjectContainer#eflowObjects_tauMode')
-manip.appendItemsToList(StreamAOD,'ItemList','CaloClusterContainer#eflowClusters_tauMode')
-
-#...add the calibration hit maker to create its container
-#   so that it can be dumped later by calCelInfoD3PDMaker
-from MakeCellInfo.MakeCellInfoConf import MakeCalCellInfo
-calCellInfo = MakeCalCellInfo()
-print("(PanTau_ESD-to-eflowStudyD3PD_TopOptions.py) Setting EflowObjectsName to eflowObjects_tauMode")
-calCellInfo.EflowObjectsName = "eflowObjects_tauMode"
-calCellInfo.EflowClustersName = "eflowClusters_tauMode"
-calCellInfo.TruthParticlesName = "INav4MomTruthEvent"
-topSequence+=calCellInfo
-
-
-## ////////////////////////////////////////////////
-## Define the D3PD Stream
-
-from OutputStreamAthenaPool.MultipleStreamManager import MSMgr
-alg = MSMgr.NewRootStream("EFLOWD3PDSTREAM", "eflowStudyD3PD_CalHits3_WithMCBlock.root", "eflowD3PD")
-
-# algs to run prior to dumping
-from eflowD3PDMaker.eflowD3PDMakerConf import eflowClusterSelector
-eflowClusSelector = eflowClusterSelector()
-topSequence += eflowClusSelector
-
-from eflowRec.eflowTrackToCaloTrackExtrapolatorTool import eflowTrackToCaloTrackExtrapolatorToolDefault
-TrackToCaloTrackExtrapolatorToolDefault=eflowTrackToCaloTrackExtrapolatorToolDefault()
-
-
-#Configure the D3PD
-from D3PDMakerCoreComps.D3PDObject import D3PDObject
-
-#### The basic kinematics ####
-from eflowD3PDMaker.eflowD3PDObject import *
-eflowD3PDObject = D3PDObject (makeeflowD3PDObject, 'eflowBase_')
-eflowD3PDObject.defineBlock(0, 'Kinematics',
-                            eflowD3PDMakerConf.D3PD__eflowFillerTool)
-eflowD3PDObject.defineBlock (0, 'Details',
-                            eflowD3PDMakerConf.D3PD__eflowObjectDetailsFillerTool)
-alg += eflowD3PDObject(10)
-
-
-#### The track variables ####
-from eflowD3PDMaker.eflowTrackD3PDObject import *
-eflowTrackD3PDObject = D3PDObject (makeeflowTrackD3PDObject, 'eflowTrack_')
-eflowTrackD3PDObject.defineBlock(0,'eflowTrack',
-                            eflowD3PDMakerConf.D3PD__eflowTrackFillerTool,
-                            eflowTrackToCaloTrackExtrapolatorTool = TrackToCaloTrackExtrapolatorToolDefault)
-alg += eflowTrackD3PDObject(10)
-
-
-#### The calibration hits ####
-from calCellInfoD3PDMaker.calCellInfoD3PDObject import *
-calCellInfoD3PDObject = D3PDObject(makecalCellInfoD3PDObject,'CalCellInfo_')
-
-calCellInfoD3PDObject.defineBlock(0,'CallCellInfo',
-                            calCellInfoD3PDMakerConf.D3PD__calCellInfoFillerTool)
-alg += calCellInfoD3PDObject(10)
-
-
-#### Prepare for truth info ####
-from D3PDMakerConfig.D3PDMakerFlags                 import D3PDMakerFlags
-from TruthD3PDAnalysis.truthParticleConfig          import truthParticleConfig
-D3PDMakerFlags.TruthParticlesSGKey = 'INav4MomTruthEvent'
-truthParticleConfig(topSequence, sgkey=D3PDMakerFlags.TruthParticlesSGKey(), writeHadrons=True, writePartons=True, writeGeant=False)
-
-#### Even more truth information ####
-from TruthD3PDMaker.GenEventD3PDObject              import GenEventD3PDObject
-from TruthD3PDMaker.TruthParticleD3PDObject         import TruthParticleD3PDObject
-alg += TruthParticleD3PDObject (10, sgkey=D3PDMakerFlags.TruthParticlesSGKey())#"INav4MomTruthEvent")#sgkey=D3PDMakerFlags.TruthParticlesSGKey()
-#alg += GenEventD3PDObject (10)
-
-
-
-
-
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetBuilding.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetBuilding.py
deleted file mode 100644
index afb0e700eaa75b12fb7227134e0426daed482567..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetBuilding.py
+++ /dev/null
@@ -1,158 +0,0 @@
-class JetBuilding:
-        def __init__(self, JetAlgName, TruthJetCont="AntiKt4TruthJets", AllRecoJetCont="AntiKt4LCTopoJets"):
-
-            from AthenaCommon.AlgSequence import AlgSequence
-            topSequence = AlgSequence()
-            
-            # Build the list of decay modes that shall be separated (needed to get the case fragment right for weight files)
-            # === IMPORTANT NOTE ===
-            #NOTE: This order has to match the order in which the DiscTools add their likeliness to the likeliness vector in PanTau::TauJetBuilderAlg::execute.
-            #NOTE: Convention for order: Start with Low prong and low neutrals, move up in neutrals, then move to next higher prong. Add fakes at the end.
-            # 
-            # However, this code should not need to be changed very often. Only if the number of modes change. In that case, one would have to revisit the code anyway...
-            # Hence: Hands off, unless you know what you're getting yourself into :)
-            from PanTauAnalysis.PanTauJetBuilderAlg_Flags import PanTauJetBuilderAlgFlags as PJB_Flags
-            ListOfDecayModes = [PJB_Flags.MVA_ModeName1p0n(),
-                                PJB_Flags.MVA_ModeName1p1n(),
-                                PJB_Flags.MVA_ModeName1pXn(),
-                                PJB_Flags.MVA_ModeName3p0n(),
-                                PJB_Flags.MVA_ModeName3pXn()]
-            
-            # Add the discrimination tools
-            from AthenaCommon.AppMgr import ToolSvc
-            
-            ### ====== Tool for 1p0n
-            ItsName = "PanTauDiscrTool_" + JetAlgName + "_" + PJB_Flags.MVA_ModeName1p0n()
-            DiscTool_1p0n = getDiscriminantTool(ItsName, JetAlgName, PJB_Flags.MVA_ModeName1p0n(), ListOfDecayModes, PJB_Flags.MVA_UsedFeatures1p0n())
-            DiscTool_1p0n.OutputLevel = INFO
-            ToolSvc += DiscTool_1p0n
-            printfunc (DiscTool_1p0n)
-            
-            ### ====== Tool for 1p1n
-            ItsName = "PanTauDiscrTool_" + JetAlgName + "_" + PJB_Flags.MVA_ModeName1p1n()
-            DiscTool_1p1n = getDiscriminantTool(ItsName, JetAlgName, PJB_Flags.MVA_ModeName1p1n(), ListOfDecayModes, PJB_Flags.MVA_UsedFeatures1p1n())
-            DiscTool_1p1n.OutputLevel = INFO
-            ToolSvc += DiscTool_1p1n
-            printfunc (DiscTool_1p1n)
-            
-            ### ====== Tool for 1pXn
-            ItsName = "PanTauDiscrTool_" + JetAlgName + "_" + PJB_Flags.MVA_ModeName1pXn()
-            DiscTool_1pXn = getDiscriminantTool(ItsName, JetAlgName, PJB_Flags.MVA_ModeName1pXn(), ListOfDecayModes, PJB_Flags.MVA_UsedFeatures1pXn())
-            DiscTool_1pXn.OutputLevel = INFO
-            ToolSvc += DiscTool_1pXn
-            printfunc (DiscTool_1pXn)
-            
-            ### ====== Tool for 3p0n
-            ItsName = "PanTauDiscrTool_" + JetAlgName + "_" + PJB_Flags.MVA_ModeName3p0n()
-            DiscTool_3p0n = getDiscriminantTool(ItsName, JetAlgName, PJB_Flags.MVA_ModeName3p0n(), ListOfDecayModes, PJB_Flags.MVA_UsedFeatures3p0n())
-            DiscTool_3p0n.OutputLevel = INFO
-            ToolSvc += DiscTool_3p0n
-            printfunc (DiscTool_3p0n)
-            
-            ### ====== Tool for 3pXn
-            ItsName = "PanTauDiscrTool_" + JetAlgName + "_" + PJB_Flags.MVA_ModeName3pXn()
-            DiscTool_3pXn = getDiscriminantTool(ItsName, JetAlgName, PJB_Flags.MVA_ModeName3pXn(), ListOfDecayModes, PJB_Flags.MVA_UsedFeatures3pXn())
-            DiscTool_3pXn.OutputLevel = INFO
-            ToolSvc += DiscTool_3pXn
-            printfunc (DiscTool_3pXn)
-            
-            
-            
-            from PanTauAnalysis.PanTauValidationFlags import panTauValidationFlags
-            
-            from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-            PanTauGoodSeeds = PSB_Flags.ContainerName_PanTauGoodOutputSeeds() + JetAlgName
-            PanTauBadSeeds  = PSB_Flags.ContainerName_PanTauBadOutputSeeds() + JetAlgName
-            
-            from PanTauAnalysis.PanTauValidationFlags import panTauValidationFlags
-            
-            from PanTauAlgs.PanTauAlgsConf import PanTau__TauJetBuilderAlg
-            jetBuilderAlg = PanTau__TauJetBuilderAlg(   "TauJetBuild"+JetAlgName,
-                                                        #container names...
-                                                        ContainerName_PanTauSeedCollection = PanTauGoodSeeds,
-                                                        ContainerName_PanTauRejectedSeedCollection = PanTauBadSeeds,
-                                                        #the decay mode separation tools...
-                                                        MVA_ListOfDecayModeNames = ListOfDecayModes,
-                                                        MVA_DiscTool_1p0n = DiscTool_1p0n,
-                                                        MVA_DiscTool_1p1n = DiscTool_1p1n,
-                                                        MVA_DiscTool_1pXn = DiscTool_1pXn,
-                                                        MVA_DiscTool_3p0n = DiscTool_3p0n,
-                                                        MVA_DiscTool_3pXn = DiscTool_3pXn,
-                                                        FeatureNames                        = panTauValidationFlags.AllFeatureNames(),
-                                                        FeatureDefaultValues                = panTauValidationFlags.AllFeatureDefaultValues(),
-                                                        FeatureDefaultValueSmearingSigma    = panTauValidationFlags.AllFeatureDefaultValueSmearingSigma(),
-                                                        FeatureTypes                        = panTauValidationFlags.AllFeatureTypes(),
-                                                        SmearDefaultValuesOfFeatures        = panTauValidationFlags.DoFeatureDefaultSmearing()
-                                                         )
-            jetBuilderAlg.OutputLevel = INFO
-            topSequence += jetBuilderAlg
-            printfunc (jetBuilderAlg)
-            
-            #from RecExConfig.RecFlags import rec
-            
-        #end def__init__
-#end class JetBuilding
-
-
-
-
-
-def getDiscriminantTool(name, JetAlgName, WeightFilePrefixClass, ListOfAllModes, TauFeatureNames) :
-    """
-    Factory function to create a TauDiscriminantTool
-    """
-    from PanTauAnalysis.PanTauJetBuilderAlg_Flags import PanTauJetBuilderAlgFlags as PJB_Flags
-    import math
-
-    #set feature types and default values for the features
-    # to be used in this disc tool
-    featureDefaultValues=[]
-    featureTypes=[]
-    for v in TauFeatureNames:
-        if (not (v in featureDefaultValue)) :
-            printfunc ("ERROR: could not get default value for ", v)
-            break
-        if (not (v in featureType)) :
-            printfunc ("ERROR: could not get type for ", v)
-            break
-        featureDefaultValues.append(featureDefaultValue[v])
-        featureTypes.append(featureType[v])
-    
-    #build the currentCase string
-    currentCase = WeightFilePrefixClass + "_vs_"
-    for iMode in ListOfAllModes:
-        if (WeightFilePrefixClass != iMode) :
-            currentCase = currentCase + iMode
-    
-    #build the weight file names
-    weightFilePrefixList = []
-    for ptBin in range(1, len(PJB_Flags.MVA_PtBins())):
-        Fragment_Base       = PJB_Flags.MVA_GeneralWeightFilePrefix()
-        Fragment_EtBin      = "ET_" + str( int(math.floor(PJB_Flags.MVA_PtBins()[ptBin-1]/1000.)) ) + "_" + str( int(math.floor(PJB_Flags.MVA_PtBins()[ptBin]/1000.)) )
-        Fragment_Case       = currentCase
-        Fragment_Method     = PJB_Flags.MVA_Method()
-        Fragment_Version    = PJB_Flags.MVA_VersionName()
-        FileToAdd = Fragment_Base + "_" + Fragment_EtBin + "_" + Fragment_Case + "_" + Fragment_Method + "_" + Fragment_Version + ".weights.xml"
-        if (Fragment_Version == "") :
-            FileToAdd = Fragment_Base + "_" + Fragment_EtBin + "_" + Fragment_Case + "_" + Fragment_Method + ".weights.xml"
-        weightFilePrefixList.append(FileToAdd)
-    
-    #create and return the TauDiscriminant Tool
-    from PanTauAlgs.PanTauAlgsConf import PanTau__TauDiscriminantTool
-    return PanTau__TauDiscriminantTool( name,
-                                        WeightFileList = weightFilePrefixList,
-                                        PtBins = PJB_Flags.MVA_PtBins(),
-                                        TauFeatureNames = TauFeatureNames,
-                                        ItsCase = currentCase,
-                                        FeatureDefaultValues = featureDefaultValues,
-                                        FeatureTypes = featureTypes,
-                                        ReaderOption = "Silent:!Color",
-                                        EtaMax = 2.5,
-                                        MVA_Method  = PJB_Flags.MVA_Method())
-    
-#getDiscriminantTool ends
-
-
-
-
-# end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetValidating.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetValidating.py
deleted file mode 100644
index 0d0d95c4b7ac7f38290447b4a2473d94a5136c91..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_JetValidating.py
+++ /dev/null
@@ -1,116 +0,0 @@
-class JetValidating:
-
-    
-    def __init__ (self, JetAlgName, JetCont="Cone4TruthJets", JetRecCont="Cone4H1TopoJets"):
-        
-        from AthenaCommon.AlgSequence import AlgSequence
-        topSequence = AlgSequence()
-        from AthenaCommon.AppMgr import ToolSvc
-        
-        ##### TauTools
-        #from TauTools.TauToolsConf import TauToolAthenaExample
-        #tauToolExample = TauToolAthenaExample()
-        #topSequence += tauToolExample
-        #tauToolExample.OutputLevel  = INFO #DEBUG
-        #from TauTools.TauToolsConf import AraAlgToolWrapper_TauExamples_
-        #tauToolExample.TheTool                      = AraAlgToolWrapper_TauExamples_("AraAlgToolWrapper_TauExamples_")
-        #tauToolExample.TheTool.MCParticleContainer  = "SpclMC"
-        #tauToolExample.TheTool.TauJetContainer      = "TauRecContainer"
-        #tauToolExample.TheTool.DeltaRCut            = 0.2
-        ##### TauValidation
-        from TauValidation.TauValidationConf import TauValATHENAExample
-        #tauValAthEx = TauValATHENAExample( )
-        #topSequence += tauValAthEx
-        
-        ## Containers
-        #tauValAthEx.TruthParticleContainer = "SpclMC"
-        #tauValAthEx.TauJetContainer        = "PanTauJetsCone4"
-        #tauValAthEx.JetContainer           = "Cone4TruthJets"
-        #tauValAthEx.JetRecContainer        = "Cone4H1TopoJets"
-        #tauValAthEx.EleContainer           = "ElectronAODCollection"
-        #tauValAthEx.MuonContainer          = "StacoMuonCollection"
-        #tauValAthEx.TrackParticleContainer = "TrackParticleCandidate"
-        #tauValAthEx.RunOverBkgSample = RunOverBkgSample
-        
-        ##Cut values
-        #tauValAthEx.DeltaRMatchCut   = 0.2
-        #tauValAthEx.LeadingChPiPtCut = 6.0
-        #tauValAthEx.UseGoodCharge    = True
-        #tauValAthEx.UseElectronVeto  = False
-        #tauValAthEx.UseMuonVeto      = False
-        
-        #tauValAthEx.ROOTFileName         = "TauValidation.root"
-        ##tauValAthEx.OutputLevel          = DEBUG
-        ########### now the same for TauRec
-        #tauValAthEx = TauValATHENAExample( "TauValAthExTauRec" )
-        #topSequence += tauValAthEx
-        
-        ## Containers
-        #tauValAthEx.TruthParticleContainer = "SpclMC"
-        #tauValAthEx.TauJetContainer        = "TauRecContainer"
-        #tauValAthEx.JetContainer           = "Cone4TruthJets"
-        #tauValAthEx.JetRecContainer        = "Cone4H1TopoJets"
-        #tauValAthEx.EleContainer           = "ElectronAODCollection"
-        #tauValAthEx.MuonContainer          = "StacoMuonCollection"
-        #tauValAthEx.TrackParticleContainer = "TrackParticleCandidate"
-        #tauValAthEx.RunOverBkgSample = RunOverBkgSample
-        
-        ##Cut values
-        #tauValAthEx.DeltaRMatchCut   = 0.2
-        #tauValAthEx.LeadingChPiPtCut = 6.0
-        #tauValAthEx.UseGoodCharge    = True
-        #tauValAthEx.UseElectronVeto  = False
-        #tauValAthEx.UseMuonVeto      = False
-        
-        #tauValAthEx.ROOTFileName         = "TauValidation-TauRec.root"
-        #tauValAthEx.OutputLevel          = INFO #DEBUG
-        
-        
-        tauValAthEx = TauValATHENAExample("TauValAthExPanTauNoChargeCut" )
-        topSequence += tauValAthEx
-        
-        # Containers
-        tauValAthEx.TruthParticleContainer = "SpclMC"
-        tauValAthEx.TauJetContainer        = "PanTauJetsCone4"
-        tauValAthEx.JetContainer           = "Cone4TruthJets"
-        tauValAthEx.JetRecContainer        = "Cone4H1TopoJets"
-        tauValAthEx.EleContainer           = "ElectronAODCollection"
-        tauValAthEx.MuonContainer          = "StacoMuonCollection"
-        tauValAthEx.TrackParticleContainer = "TrackParticleCandidate"
-        #tauValAthEx.RunOverBkgSample = RunOverBkgSample
-        
-        #Cut values
-        tauValAthEx.DeltaRMatchCut   = 0.2
-        tauValAthEx.LeadingChPiPtCut = 6.0
-        tauValAthEx.UseGoodCharge    = False
-        tauValAthEx.UseElectronVeto  = False
-        tauValAthEx.UseMuonVeto      = False
-        
-        tauValAthEx.ROOTFileName         = "TauValidationNoChargeCut.root"
-        #tauValAthEx.OutputLevel          = DEBUG
-        ########## now the same for TauRec
-        tauValAthEx = TauValATHENAExample( "TauValAthExTauRecNoChargeCut" )
-        topSequence += tauValAthEx
-        
-        # Containers
-        tauValAthEx.TruthParticleContainer = "SpclMC"
-        tauValAthEx.TauJetContainer        = "TauJets"
-        tauValAthEx.JetContainer           = "Cone4TruthJets"
-        tauValAthEx.JetRecContainer        = "Cone4H1TopoJets"
-        tauValAthEx.EleContainer           = "ElectronAODCollection"
-        tauValAthEx.MuonContainer          = "StacoMuonCollection"
-        tauValAthEx.TrackParticleContainer = "TrackParticleCandidate"
-        #tauValAthEx.RunOverBkgSample = RunOverBkgSample
-        
-        #Cut values
-        tauValAthEx.DeltaRMatchCut   = 0.2
-        tauValAthEx.LeadingChPiPtCut = 6.0
-        tauValAthEx.UseGoodCharge    = False
-        tauValAthEx.UseElectronVeto  = False
-        tauValAthEx.UseMuonVeto      = False
-        
-        tauValAthEx.ROOTFileName         = "TauValidation-TauRecNoChargeCut.root"
-        tauValAthEx.OutputLevel          = INFO #DEBUG                
-    #end def __init__
-#end class
-        
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Main_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Main_TopOptions.py
deleted file mode 100755
index 073584d9365ec96b7495b0f701d88576fb9477bd..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Main_TopOptions.py
+++ /dev/null
@@ -1,151 +0,0 @@
-
-#/////////////////////////////////////
-#//    Imports
-#/////////////////////////////////////
-
-
-from AthenaCommon.AppMgr import ToolSvc
-from AthenaCommon.AppMgr import ServiceMgr
-from AthenaCommon.GlobalFlags  import globalflags
-import AthenaPoolCnvSvc.ReadAthenaPool
-
-from RecExConfig.RecFlags import rec
-from RecExConfig.InputFilePeeker import inputFileSummary
-
-from PanTauAnalysis.PanTauFlags import panTauFlags
-from PanTauAnalysis.PanTauDPDFlags import panTauDPDFlags
-from PanTauAnalysis.PanTauValidationFlags import panTauValidationFlags
-from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-
-#/////////////////////////////////////
-#//    Set flags
-#/////////////////////////////////////
-
-#Validation flags
-doTauValidation = False # this should be added to PanTauFlags, no?
-panTauValidationFlags.DoFeatureDefaultSmearing = False
-panTauValidationFlags.DoSeedEfficiency = False              # FIXME: this alg requires the TauSeedCollection to be present
-panTauValidationFlags.DoFeatureWriter = False               # FIXME: this alg requires the TauSeedCollection to be present
-panTauValidationFlags.DoSubClusterEfficiency = False        # FIXME: this alg requires the TauSeedCollection to be present
-
-panTauDPDFlags.FilterEvents = False
-panTauDPDFlags.UseGRL = False
-panTauDPDFlags.TriggerSelectionExpression = 'L1_TAU5'
-
-
-#/////////////////////////////////////
-#//    Process flags
-#/////////////////////////////////////
-
-
-### Feature List & Variable Smearing ##################################
-include( "PanTauAnalysis/featureList.py" )
-#if panTauValidationFlags.DoFeatureDefaultSmearing() :
-    
-#else :
-    ##include( "PanTauAnalysis/featureList-nodefaultShift-short.py" )
-    #include( "PanTauAnalysis/featureList-nodefaultShift.py" )
-allFeatureNames=[]
-allFeatureDefaultValues=[]
-allfeatureDefaultValueSmearingSigma=[]
-allFeatureTypes=[]
-for k, v in featureDefaultValue.items():
-    allFeatureNames.append(k)
-    allFeatureDefaultValues.append(v)
-    if k in featureDefaultValueSmearingSigma :
-        allfeatureDefaultValueSmearingSigma.append(featureDefaultValueSmearingSigma[k])
-    else :
-        printfunc ("PanTau_Main_TopOptions ERROR: no sigma for default value smearing for feature ", k)
-        allfeatureDefaultValueSmearingSigma.append(0.)
-    if k in featureType:
-        allFeatureTypes.append(featureType[k])
-    else:
-        printfunc ("PanTau_Main_TopOptions ERROR: no type for feature called ", k)
-
-panTauValidationFlags.AllFeatureNames                       = allFeatureNames
-panTauValidationFlags.AllFeatureDefaultValues               = allFeatureDefaultValues
-panTauValidationFlags.AllFeatureDefaultValueSmearingSigma   = allfeatureDefaultValueSmearingSigma
-panTauValidationFlags.AllFeatureTypes                       = allFeatureTypes
-
-### Create Algorithm Sequence ##################################
-
-topSequence = AlgSequence()
-
-
-### Check for data / mc ##################################
-
-if globalflags.DataSource()=='data' :
-    panTauDPDFlags.UseGRL = True
-else  :
-    panTauDPDFlags.UseGRL = False
-
-
-#add Truth Taus to SG if doTruth is required
-if rec.doTruth():
-    #get decay mode information: dump true taus to TruthTaus in SG in special format to get decay mode
-    from TauTrackTools.TauTrackToolsConf import TauID__TruthTauCreatorAlg
-    TruthContName = ""
-    if rec.readESD():
-        TruthContName = "INav4MomTruthEvent"
-    if rec.readAOD():
-        TruthContName = "SpclMC"
-        
-    print("PanTau_Main_TopOptions: updated TauID__TruthTauCreatorAlg to be " + TruthContName)
-    TauID__TruthTauCreatorAlg.InputTruthParticleContainer = TruthContName
-    topSequence += TauID__TruthTauCreatorAlg()
-#end if
-
-
-### Run Time Histograms ##################################
-if PSB_Flags.Config_DoRunTimeHists():
-    include("PanTauAnalysis/PanTau_RunTimeHists_TopOptions.py")
-
-### Seed- and Jet Building ##################################
-
-IntMapTest = {}
-IntMapTest["intA"] = 42;
-IntMapTest["intB"] = 4711;
-
-DoubleMapTest = {}
-DoubleMapTest["doubleA"] = 13.37;
-DoubleMapTest["doubleB"] = 47.11;
-
-StringMapTest = {}
-StringMapTest["strA"] = "stringA";
-StringMapTest["strB"] = "stringB";
-
-from PanTauAlgs.PanTauAlgsConf import PanTau__Tool_InformationStore
-Tool_InformationStore = PanTau__Tool_InformationStore(  'TestToolInformationStore',
-                                                        Infos_Int       = IntMapTest,
-                                                        Infos_Double    = DoubleMapTest,
-                                                        Infos_String    = StringMapTest)
-
-
-include ("PanTauAnalysis/PanTau_Seeding.py")
-
-if panTauFlags.DoTauJetBuilding() :
-    include ("PanTauAnalysis/PanTau_JetBuilding.py")
-    if doTauValidation:
-        include ("PanTauAnalysis/PanTau_JetValidating.py")
-#   NOTE: JetBuildingClass: Builds tau jets including particle ID (via DiscriminatorTools, DiscrTools) with TMVA
-#   NOTE: JetValidatingClass: Framework for TauValidation rtt
-
-
-ListOfJetAlgs = []
-ListOfJetAlgs += ['AntiKt4']
-#   NOTE: Somewhat historic. Adding More JetAlgorithms to the list will create output for each Jet Alg.
-#   NOTE: However, now the seeds are taken from tauRec candidates, so there is not much choice
-
-for iJetAlg in ListOfJetAlgs:
-    Seeding = TauSeeding(iJetAlg)
-
-    if panTauFlags.DoTauJetBuilding():
-        Building = JetBuilding(iJetAlg)
-        
-        if doTauValidation:
-            Validating = JetValidating(iJetAlg)
-
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RDO_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RDO_TopOptions.py
deleted file mode 100755
index cc4ecbd4b31f93d3ebafb7b3f35ad12744d0855d..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RDO_TopOptions.py
+++ /dev/null
@@ -1,116 +0,0 @@
-#example of personal topOptions
-#
-# to use it  
-# RecExCommon_links.sh  # once in a given directory
-# athena >! athena.log
-#  ( myTopOptions.py is defaulted through jobOptions.py soft link)
-# 
-# see RecExCommon/share/RecExCommon_flags.py for more available flags
-# and https://twiki.cern.ch/twiki/bin/view/Atlas/RecExCommonFlags
-# for more complete documentation.
-#
-
-
-
-#//////////////////////////////////
-#   Import modules
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-from RecExConfig.RecFlags import rec
-from RecExConfig.RecAlgsFlags import recAlgs
-from tauRec.tauRecFlags import jobproperties as tauRecJP
-
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-    print("FilesInput was set to default value. will use predefined dataset")
-    
-    #--------------------------------  R D O
-    #ZTauTau --- 1000 Events
-    athenaCommonFlags.FilesInput += ['/tmp/limbach/mc10_7TeV.106052.PythiaZtautau.digit.RDO.e574_s934_s946_d426_tid213812_00/RDO.213812._000001.pool.root.1']
-    
-    #J1 --- 100 Events
-    #athenaCommonFlags.FilesInput += ['/tmp/limbach/mc10_7TeV.105010.J1_pythia_jetjet.digit.RDO.e574_s1019_d425_tid211879_00/RDO.211879._000005.pool.root.1']
-    
-    #--------------------------------  A O D
-    #ZTauTau
-    #athenaCommonFlags.FilesInput += ['/tmp/limbach/mc11_7TeV.106052.PythiaZtautau.recon.AOD.e825_s1356_s1353_r3043_tid644919_00/AOD.644919._000135.pool.root.1']
-
-athenaCommonFlags.EvtMax=10  # number of events to process run on all file
-
-
-#//////////////////////////////////
-#   Switch on algs that are 
-#   switched off by default
-#//////////////////////////////////
-
-tauRecJP.tauRecFlags.doPanTau.set_Value_and_Lock(True)
-
-
-
-#//////////////////////////////////
-#   Main jobOptions
-#//////////////////////////////////
-
-
-### NOTE ############################################
-# include my own algorithm(s). These jobo will be included at the end of topSequence configuration
-# rec.UserAlgs=[ "MyPackage/MyAlgorithm_jobOptions.py" ]
-# these lines will be executed at the end of topSequence configuration
-# rec.UserExecs=[ "from MyPackage.myAlgConf import myAlg","topSequence+=myAlg()" ]
-# these lines will be executed after RecExCommon_flags.py has been imported, last chance for flag modification
-# note that flag locking mechanism has a better chance to yield consistent configuration
-# see https://twiki.cern.ch/twiki/bin/view/Atlas/TriggerFlags
-# see https://twiki.cern.ch/twiki/bin/view/Atlas/UserAnalysisTest#The_AOD_Production_Flags
-# rec.UserFlags=[ "AODFlags.FastSimulation=False" ] 
-
-
-### Last Change to change Flags! ###############################################
-
-rec.doESD.set_Value_and_Lock(True) # Input = RDO: True
-rec.doWriteESD.set_Value_and_Lock(False) # Input = RDO: False
-
-#rec.readAOD.set_Value_and_Lock(True)
-
-rec.doAOD.set_Value_and_Lock(True) # Input = RDO: True
-rec.doWriteAOD.set_Value_and_Lock(True) # Input = RDO: True
-#rec.doWriteTAG.set_Value_and_Lock(False)
-#rec.doCBNT.set_Value_and_Lock(False)
-
-recAlgs.doMuonIDStandAlone.set_Value_and_Lock(False)
-recAlgs.doMuonIDCombined.set_Value_and_Lock(False)
-recAlgs.doMuidLowPt.set_Value_and_Lock(False)
-recAlgs.doMuGirl.set_Value_and_Lock(False)
-recAlgs.doStaco.set_Value_and_Lock(False)
-recAlgs.doMuTag.set_Value_and_Lock(False)
-recAlgs.doTileMuID.set_Value_and_Lock(False)
-
-rec.doTrigger.set_Value_and_Lock(False) # disable trigger (maybe necessary if detectors switched of)
-
-rec.doTruth.set_Value_and_Lock(True)
-
-#rec.OutputLevel.set_Value_and_Lock(DEBUG)
-
-#rec.UserAlgs=["PanTauAnalysis/TauIdAnalysis_DecisionGetter.py"]
-
-
-include ("RecExCommon/RecExCommon_topOptions.py")
-
-# user modifier of properties should come here
-#topSequence.myAlg.someProperty=3.14
-
-
-#//////////////////////////////////
-#   Import base PanTau script
-#//////////////////////////////////
-
-include("PanTauAnalysis/TauIdAnalysis_DecisionGetter.py")
-#   NOTE: This should then be moved inside RecExCommon_topOptions.py
-
-
-
-
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RunTimeHists_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RunTimeHists_TopOptions.py
deleted file mode 100644
index bfc16c4f3261d1785de7be6f3d864318904f4f43..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_RunTimeHists_TopOptions.py
+++ /dev/null
@@ -1,8 +0,0 @@
-
-HistOutFile = "PanTau_RunTimeHists.root"
-
-# Add Histogram service
-THistSvc = Service("THistSvc")
-THistSvc.Output = ["PanTauHists DATAFILE='" + HistOutFile + "' OPT='RECREATE'"]
-THistSvc.PrintAll = 1
-ServiceMgr += THistSvc
\ No newline at end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Seeding.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Seeding.py
deleted file mode 100644
index 6bae6dba00d6f2d7f36ab23190e3ccde3e2432ea..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_Seeding.py
+++ /dev/null
@@ -1,43 +0,0 @@
-class TauSeeding:
-    
-    def __init__(self, JetAlgName):
-        from AthenaCommon.AppMgr import ToolSvc
-        from AthenaCommon.AlgSequence import AlgSequence
-        topSequence = AlgSequence()
-
-        from PanTauAnalysis.PanTauSeedBuilderAlg import createTauSeedBuilder
-        panTauSeedBuilder = createTauSeedBuilder(JetAlgName)
-        panTauSeedBuilder.OutputLevel=INFO
-        
-        for iTool in panTauSeedBuilder.Tools_TauFeatureExtractionTools:
-            iTool.OutputLevel=INFO
-        
-        # add RunTimeHistos if required
-        from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-        if PSB_Flags.Config_DoRunTimeHists():
-            from PanTauAnalysis.RunTimeHistConfig import configRunTimeHistos
-            configRunTimeHistos(panTauSeedBuilder)
-        
-        pionEflowObjectMatchTool = None
-        
-        from RecExConfig.RecFlags import rec
-        if (rec.doTruth() ) :
-            # pion-efo match tool
-            from PanTauAlgs.PanTauAlgsConf import PanTau__PionEflowObjectTruthMatchTool
-            pionEflowObjectMatchTool = PanTau__PionEflowObjectTruthMatchTool( 'PionEflowObjectMatchTool',
-                                                                            MinPt = 0.5*GeV,
-                                                                            MatchMaxDR = 0.02,
-                                                                            UseExtrapolatedPositions = False,
-                                                                            ExtrapolateToCaloLayer = 1,
-                                                                            ExcludeEMNeutrals = False)
-            pionEflowObjectMatchTool.OutputLevel=VERBOSE
-            ToolSvc += pionEflowObjectMatchTool
-            printfunc (pionEflowObjectMatchTool)
-        #### end if(rec.doTruth() )
-        
-        topSequence+=panTauSeedBuilder
-        printfunc (panTauSeedBuilder)
-        
-        
-    #end def __init__            
-#end class
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_User_TopOptions.py b/PhysicsAnalysis/PanTauAnalysis/share/PanTau_User_TopOptions.py
deleted file mode 100644
index f373bceae200c45873fc08f95bac8cbf7ca1634c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/PanTau_User_TopOptions.py
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#quick link to the 'usual' topoptions
-include("PanTauAnalysis/PanTau_AOD-to-D3PD_TopOptions.py")
-
-# end of file
\ No newline at end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/TauIdAnalysis_DecisionGetter.py b/PhysicsAnalysis/PanTauAnalysis/share/TauIdAnalysis_DecisionGetter.py
deleted file mode 100644
index f65f82fd809122b6820d36cd0f7869957a7f244c..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/TauIdAnalysis_DecisionGetter.py
+++ /dev/null
@@ -1,14 +0,0 @@
-from tauRec.tauRecFlags import jobproperties as tauRecJP
-
-if tauRecJP.tauRecFlags.doPanTau():
-    
-    
-    #Inform the other PanTau JOs that we're using the tauRec seeds as input
-    from PanTauAnalysis.PanTauSeedBuilderAlg_Flags import PanTauSeedBuilderAlgFlags as PSB_Flags
-    PSB_Flags.Config_UseTauRecAsSeeds.set_Value_and_Lock(True)
-    
-    include("PanTauAnalysis/JobOptions_Main_PanTau.py")
-# end check for PanTau execution
-
-
-#end of file
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau.py b/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau.py
deleted file mode 100644
index 6ab0ab6d25d28117f9f82545781d9bdc4a487be9..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau.py
+++ /dev/null
@@ -1,211 +0,0 @@
-#////////////////////////////////////////////////////////////////////
-#
-#  topOptions for PanTau:
-#       Input : An ESD that contains the eflowRec container eflowObjects_tauMode and the tauRecContainer
-#       Output: A TauD3PD that contains an enhanced tau block:
-#               - tau_pantau block:
-#                   These variables are available in official AOD
-#
-#               - tau_pantauFeature block:
-#                   These variables are not available in the official AOD
-#                   However, these are all the variables from the
-#                   PanTau::TauSeed that are available
-#                   These variables should be used for performance studies
-#
-#   This jobOption file will work when submitting GRID jobs!
-#   Simply use the script 
-#           submit-pathena-job_AOD_to_PanTauD3PD.sh
-#   to submit the jobs for a single sample, or use
-#           Launch_GridJobs.sh
-#   to submit jobs for all desired samples
-#
-#////////////////////////////////////////////////////////////////////
-
-
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-    #latest ESD file
-    athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/work/private/samples/group.perf-tau.TauPi0Rec_ESD2ESD.147818.Pythia8_AU2CTEQ6L1_Ztautau.recon.ESD.e1176_s1479_s1470_r3553_tid00999073_00.v05-02.131004205127/group.perf-tau.396790_001889.EXT0._00750.ESD.pool.root']
-    
-    # ESD with new eflowObjects
-    #athenaCommonFlags.FilesInput=['/afs/cern.ch/user/l/limbach/work/private/ESD_NeweflowTagsStoringPi0VarsInEFO.pool.root']
-    
-athenaCommonFlags.EvtMax=50  # number of events to process run on all file
-#athenaCommonFlags.SkipEvents=238
-
-## turn off CellBased for old data file to check duplicate EFO bug
-#from tauRec.tauRecFlags import jobproperties as taujp
-#taujp.tauRecFlags.doBonnPi0.set_Value_and_Lock(False)
-
-from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags.ExtractAllFeatures.set_Value_and_Lock(True)
-
-#...add truth info in D3PD
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( True )
-
-
-# ==== PreExec
-rec.Commissioning.set_Value_and_Lock(True)
-rec.AutoConfiguration = [ "everything" ]
-
-from AthenaCommon.JobProperties import jobproperties
-jobproperties.Beam.energy.set_Value_and_Lock(4000*Units.GeV)
-jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)
-jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0)
-
-from TriggerJobOpts.TriggerFlags import TriggerFlags
-TriggerFlags.AODEDMSet="AODSLIM"
-
-from MuonRecExample.MuonRecFlags import muonRecFlags
-muonRecFlags.writeSDOs=True
-
-# ==== end PreExec
-
-
-#//////////////////////////////////
-#   Main Job Options
-#//////////////////////////////////
-
-# !!!                                            !!! #
-# !!! You must not modify flags below this point !!! #
-# !!!                                            !!! #
-
-#emulate the old PanTau to check if everything works
-from PanTauAnalysis.Config_PanTau import config_PanTau
-#config_PanTau.Names_InputAlgorithms = ["eflowRec"]
-
-rec.readAOD      = False
-rec.readESD      = True
-rec.readRDO      = False
-rec.doCBNT       = False
-rec.doWriteESD   = False
-rec.doWriteTAG   = False
-rec.doPerfMon    = False
-rec.doHist       = False
-
-rec.doAOD.set_Value_and_Lock(False)
-rec.doWriteAOD.set_Value_and_Lock(False)
-
-# commented out in AOD->D3PD
-from AthenaServices.AthenaServicesConf import AthenaEventLoopMgr
-from AthenaCommon.AppMgr import ServiceMgr as svcMgr
-svcMgr.MessageSvc.infoLimit   = 50
-svcMgr += AthenaEventLoopMgr()
-svcMgr.AthenaEventLoopMgr.EventPrintoutInterval = 50
-
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-#from tauRec.tauRecFlags import jobproperties
-#from JetRec.JetRecFlags import jobproperties
-#jobproperties.tauRecFlags.doTauRec = True
-#jobproperties.JetRecFlags.Enabled = True
-#rec.doTau = True
-#fastPoolMerge=False
-
-#from tauRec.TauRecAODBuilder import TauRecAODProcessor
-#TauRecAODProcessor(inAODmode=True)
-
-#from TauDiscriminant.TauDiscriGetter import TauDiscriGetter
-#TauDiscriGetter()
-
-
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-#include pantau
-include("PanTauAnalysis/JobOptions_Main_PanTau.py")
-
-
-if rec.doTruth():
-    from TauD3PDMaker.TauD3PDMakerConf import TruthTausToSG
-    if rec.readESD():
-        TruthTausToSG.truth_container="INav4MomTruthEvent"
-    print("climbach: updated TruthTausToSG to be INav4MomTruthEvent")
-    topSequence += TruthTausToSG()
-
-
-
-
-### Rerun Jet moments for jet area variables
-#from JetRec.JetRecFlags import jetFlags
-#jetFlags.jetPerformanceJob = True
-
-#from JetMomentTools.JetMomentsConfigHelpers import recommendedAreaAndJVFMoments
-#jetmomAlg = recommendedAreaAndJVFMoments('AntiKt4LCTopoJets')
-
-
-### Rerun B-tagging for MV3
-#from BTagging.BTaggingFlags import BTaggingFlags
-##BTaggingFlags.CalibrationTag="BTagCalibALL-07-02" # up to now it is not linked to the global flag
-#BTaggingFlags.Jets=['AntiKt4LCTopo']
-#BTaggingFlags.CalibrationChannelAliases+=[ 'AntiKt4LCTopo->AntiKt4TopoEM' ]
-#BTaggingFlags.Active=True
-#BTaggingFlags.JetFitterCharm=True
-#BTaggingFlags.MV3_bVSu=False
-#BTaggingFlags.MV3_bVSc=False
-#BTaggingFlags.MV3_cVSu=False
-
-#include( "BTagging/BTagging_LoadTools.py" )
-#include( "BTagging/BTagging_jobOptions.py" )
-
-#from JetTagD3PDMaker.JetTagD3PDMakerFlags import JetTagD3PDFlags
-#JetTagD3PDFlags.Taggers+=["JetFitterCharm"]#,"MV3_bVSu","MV3_bVSc","MV3_cVSu"]
-#JetTagD3PDFlags.JetFitterCharmTagInfo=True
-
-
-##re-run MET
-#include('TauD3PDMaker/metAlgs.py')
-#from RecExConfig.RecAlgsFlags import recAlgs
-#recAlgs.doMissingET.set_Value_and_Lock(True)
-
-
-
-#//////////////////////////////////
-#   D3PD Output
-#//////////////////////////////////
-
-from TauD3PDMaker.tauPerf import tauPerf
-alg = tauPerf ( level = 10,
-                   file="TauD3PD_FullPanTauInfo.root",
-                   doPhys = True,
-                   doCl = True,
-                   doCell = True,
-                   doPi0BonnDevVars = True,
-                   doTrk = True,
-                   doHad = True,
-                   doOtherTrk = True,
-                   tuplename = 'tau',
-                   seq = topSequence,
-                   D3PDSvc = 'D3PD::RootD3PDSvc',
-                   doMETSkimVariables = False,
-                   streamName = "TauPERF")
-
-
-
-#//////////////////////////////////
-#   Silence over abundant messages
-#//////////////////////////////////
-############################
-#Silence Trig Navigation Warnings
-from AthenaCommon.AppMgr import ToolSvc
-if not hasattr( ToolSvc, "TrigDecisionTool" ):
-    from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
-    ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" )
-ToolSvc.TrigDecisionTool.Navigation.OutputLevel = ERROR
-ToolSvc.TrigDecisionTool.OutputLevel = ERROR
-
-
-
-
-#############################
-StoreGateSvc.OutputLevel = FATAL
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau_MC_fix.py b/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau_MC_fix.py
deleted file mode 100644
index fd8794b2509e5ff91d96926fe6f81511bf6d0393..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/TopOptions_NewPanTau_MC_fix.py
+++ /dev/null
@@ -1,225 +0,0 @@
-#////////////////////////////////////////////////////////////////////
-#
-#  topOptions for PanTau:
-#       Input : An ESD that contains the eflowRec container eflowObjects_tauMode and the tauRecContainer
-#       Output: A TauD3PD that contains an enhanced tau block:
-#               - tau_pantau block:
-#                   These variables are available in official AOD
-#
-#               - tau_pantauFeature block:
-#                   These variables are not available in the official AOD
-#                   However, these are all the variables from the
-#                   PanTau::TauSeed that are available
-#                   These variables should be used for performance studies
-#
-#   This jobOption file will work when submitting GRID jobs!
-#   Simply use the script 
-#           submit-pathena-job_AOD_to_PanTauD3PD.sh
-#   to submit the jobs for a single sample, or use
-#           Launch_GridJobs.sh
-#   to submit jobs for all desired samples
-#
-#////////////////////////////////////////////////////////////////////
-
-
-#//////////////////////////////////
-#   Input Files
-#//////////////////////////////////
-
-from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-if athenaCommonFlags.FilesInput.isDefault(): # check if not already set upstream
-#    athenaCommonFlags.FilesInput=['/afs/cern.ch/work/b/bwinter/septemberProduction/september_production_2ESD_fromRDO/ESD2ESD/OUT.ESD.pool.root'] #septemberESD
-    athenaCommonFlags.FilesInput=['/afs/cern.ch/user/b/bwinter/november_production_2ESD/ESD2ESD/myESD.pool_november.root'] #novemberESD
-    
-athenaCommonFlags.EvtMax=-1  # number of events to process run on all file
-
-## turn off CellBased for old data file to check duplicate EFO bug
-#from tauRec.tauRecFlags import jobproperties as taujp
-#taujp.tauRecFlags.doBonnPi0.set_Value_and_Lock(False)
-
-from PanTauAnalysis.PanTauFlags import panTauFlags
-panTauFlags.ExtractAllFeatures.set_Value_and_Lock(True)
-
-###########################################################
-
-#preExec MC
-#...add truth info in D3PD
-from RecExConfig.RecFlags import rec
-rec.doTruth.set_Value_and_Lock( True )
-
-
-# ==== PreExec
-rec.Commissioning.set_Value_and_Lock(True)
-rec.AutoConfiguration = [ "everything" ]
-
-from AthenaCommon.JobProperties import jobproperties
-jobproperties.Beam.energy.set_Value_and_Lock(4000*Units.GeV)
-jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)
-jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0)
-
-from TriggerJobOpts.TriggerFlags import TriggerFlags
-TriggerFlags.AODEDMSet="AODSLIM"
-
-from MuonRecExample.MuonRecFlags import muonRecFlags
-muonRecFlags.writeSDOs=True
-
-# ==== end PreExec
-"""
-############################################################
-# preExec data
-# PreExec
-from RecExConfig.RecFlags import rec
-#rec.doTruth.set_Value_and_Lock( True )
-#rec.Commissioning.set_Value_and_Lock(True)
-rec.AutoConfiguration = [ "everything" ]
-from AthenaCommon.JobProperties import jobproperties
-#jobproperties.Beam.energy.set_Value_and_Lock(4000*Units.GeV)
-#jobproperties.Beam.bunchSpacing.set_Value_and_Lock(50)
-#jobproperties.Beam.numberOfCollisions.set_Value_and_Lock(20.0)
-from TriggerJobOpts.TriggerFlags import TriggerFlags
-#TriggerFlags.AODEDMSet="AODSLIM"
-from MuonRecExample.MuonRecFlags import muonRecFlags
-#muonRecFlags.writeSDOs=True
-
-############################################################
-"""
-
-#//////////////////////////////////
-#   Main Job Options
-#//////////////////////////////////
-
-# !!!                                            !!! #
-# !!! You must not modify flags below this point !!! #
-# !!!                                            !!! #
-
-#emulate the old PanTau to check if everything works
-from PanTauAnalysis.Config_PanTau import config_PanTau
-#config_PanTau.Names_InputAlgorithms = ["eflowRec"]
-
-rec.readAOD      = False
-rec.readESD      = True
-rec.readRDO      = False
-rec.doCBNT       = False
-rec.doWriteESD   = False
-rec.doWriteTAG   = False
-rec.doPerfMon    = False
-rec.doHist       = False
-
-rec.doAOD.set_Value_and_Lock(False)
-rec.doWriteAOD.set_Value_and_Lock(False)
-
-# commented out in AOD->D3PD
-from AthenaServices.AthenaServicesConf import AthenaEventLoopMgr
-from AthenaCommon.AppMgr import ServiceMgr as svcMgr
-svcMgr.MessageSvc.infoLimit   = 50
-svcMgr += AthenaEventLoopMgr()
-svcMgr.AthenaEventLoopMgr.EventPrintoutInterval = 50
-
-
-from AthenaCommon.AlgSequence import AlgSequence
-topSequence = AlgSequence()
-
-#from tauRec.tauRecFlags import jobproperties
-#from JetRec.JetRecFlags import jobproperties
-#jobproperties.tauRecFlags.doTauRec = True
-#jobproperties.JetRecFlags.Enabled = True
-#rec.doTau = True
-#fastPoolMerge=False
-
-#from tauRec.TauRecAODBuilder import TauRecAODProcessor
-#TauRecAODProcessor(inAODmode=True)
-
-#from TauDiscriminant.TauDiscriGetter import TauDiscriGetter
-#TauDiscriGetter()
-
-
-include( "RecExCommon/RecExCommon_topOptions.py" )
-
-#include pantau
-include("PanTauAnalysis/JobOptions_Main_PanTau.py")
-
-
-if rec.doTruth():
-    from TauD3PDMaker.TauD3PDMakerConf import TruthTausToSG
-    if rec.readESD():
-        TruthTausToSG.truth_container="INav4MomTruthEvent"
-    print("climbach: updated TruthTausToSG to be INav4MomTruthEvent")
-    topSequence += TruthTausToSG()
-
-
-
-## Rerun Jet moments for jet area variables
-from JetRec.JetRecFlags import jetFlags
-jetFlags.jetPerformanceJob = True
-
-from JetMomentTools.JetMomentsConfigHelpers import recommendedAreaAndJVFMoments
-jetmomAlg = recommendedAreaAndJVFMoments('AntiKt4LCTopoJets')
-                           
-## Rerun B-tagging for MV3
-#preExec='from BTagging.BTaggingFlags import BTaggingFlags',,'BTaggingFlags.CalibrationTag=\"BTagCalibALL-07-05\"'
-from BTagging.BTaggingFlags import BTaggingFlags
-BTaggingFlags.CalibrationTag="BTagCalibALL-07-05" # up to now it is not linked to the global flag
-BTaggingFlags.Jets=['AntiKt4LCTopo']
-BTaggingFlags.CalibrationChannelAliases+=[ 'AntiKt4LCTopo->AntiKt4TopoEM' ]
-BTaggingFlags.Active=True
-BTaggingFlags.JetFitterCharm=True
-BTaggingFlags.MV3_bVSu=False
-BTaggingFlags.MV3_bVSc=False
-BTaggingFlags.MV3_cVSu=False
-
-include( "BTagging/BTagging_LoadTools.py" )
-include( "BTagging/BTagging_jobOptions.py" )
-
-from JetTagD3PDMaker.JetTagD3PDMakerFlags import JetTagD3PDFlags
-JetTagD3PDFlags.Taggers+=["JetFitterCharm"]#,"MV3_bVSu","MV3_bVSc","MV3_cVSu"]
-JetTagD3PDFlags.JetFitterCharmTagInfo=True
-
-#re-run MET
-include('TauD3PDMaker/metAlgs.py')
-from RecExConfig.RecAlgsFlags import recAlgs
-recAlgs.doMissingET.set_Value_and_Lock(True)
-
-
-#//////////////////////////////////
-#   D3PD Output
-#//////////////////////////////////
-
-from TauD3PDMaker.tauPerf import tauPerf
-alg = tauPerf ( level = 10,
-                   file="TauD3PD_FullPanTauInfo.root",
-                   doPhys = True,
-                   doCl = True,
-                   doCell = False,
-                   doPi0BonnDevVars = True,
-                   doTrk = True,
-                   doHad = True,
-                   doOtherTrk = True,
-                   tuplename = 'tau',
-                   seq = topSequence,
-                   D3PDSvc = 'D3PD::RootD3PDSvc',
-                   doMETSkimVariables = False,
-                   streamName = "TauPERF")
-
-
-
-#//////////////////////////////////
-#   Silence over abundant messages
-#//////////////////////////////////
-############################
-#Silence Trig Navigation Warnings
-from AthenaCommon.AppMgr import ToolSvc
-if not hasattr( ToolSvc, "TrigDecisionTool" ):
-    from TrigDecisionTool.TrigDecisionToolConf import Trig__TrigDecisionTool
-    ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" )
-ToolSvc.TrigDecisionTool.Navigation.OutputLevel = ERROR
-ToolSvc.TrigDecisionTool.OutputLevel = ERROR
-
-
-
-
-#############################
-StoreGateSvc.OutputLevel = FATAL
-
-
-#end of file
-
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/checkFiles.py b/PhysicsAnalysis/PanTauAnalysis/share/checkFiles.py
deleted file mode 100755
index 964dab98f8939a51180b668b4d5e8ec2a2d0cc29..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/checkFiles.py
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env python
-
-# @file:    checkFiles.py
-# @purpose: open Pool files and check for a given number of events to identify corrupted files
-#           Based on checkFile.py from Sebastien Binet
-# @author:  Sebastian Fleischmann
-# @date:    February 2009
-#
-# @example:
-# @code
-# checkFiles.py -d /somedirectory -o filesInMyDir
-# @endcode
-#
-
-from __future__ import print_function
-
-__version__ = "$Revision: 478526 $"
-__author__  = "Sebastian Fleischmann"
-
-import sys
-import os
-
-from optparse import OptionParser
-
-if __name__ == "__main__":
-
-    parser = OptionParser(usage="usage: %prog [options] [-f] my.file.pool")
-    p = parser.add_option
-    p( "-f",
-       "--file",
-       dest = "fileName",
-       help = "The path to the POOL file to analyze" )
-    p( "-d",
-       "--dir",
-       dest    = "inputDirectory",
-       help = "use directory, i.e. loop over all files in this directory" )
-    #p( "--sort-fct",
-       #dest    = "sortFctName",
-       #default = "diskSize",
-       #help = "Sorting function used to list containers (allowed are: diskSize, memSize, name)" )
-    p( "-o",
-       "--output",
-       dest = "outFileName",
-       default = None,
-       help = "Name of the output file which will contain the informations gathered during checkFile processing." )
-    p( "-e",
-       "--events",
-       type="int",
-       dest = "numberOfExpectedEvents",
-       default = 50,
-       help = "Number of expected events in the file" )
-    p( "--maxFilesPerJoFile",
-       type="int",
-       dest = "maxFiles",
-       default = 0,
-       help = "Maximum number of files to write per job options input file (0 means no limit)" )
-    p( "-m",
-       "--maxFiles",
-       type="int",
-       dest = "maxTotalFiles",
-       default = 0,
-       help = "Maximum number of files to process (0 means no limit)" )
-    #p( "--fast",
-       #dest = "fastMode",
-       #default = False,
-       #action  = "store_true",
-       #help = "Switch to enable the fast mode of checkFile.py (memory size will not be accurate -AT ALL-)"
-       #)
-    
-    (options, args) = parser.parse_args()
-
-    fileNames = []
-    
-    if len(args) > 0:
-        fileNames = [ arg for arg in args if arg[0] != "-" ]
-        pass
-
-    if options.fileName == None and len(fileNames) == 0 and options.inputDirectory == None:
-        str(parser.print_help() or "")
-        sys.exit(1)
-
-    if options.fileName != None:
-        fileName = os.path.expandvars(os.path.expanduser(options.fileName))
-        fileNames.append(fileName)
-
-    if options.inputDirectory != None:
-        folderName = os.path.expandvars(os.path.expanduser(options.inputDirectory))
-        for filename in os.listdir (folderName):
-            # Ignore subfolders
-            if os.path.isdir (os.path.join (folderName, filename)):
-                continue
-            # "filename" contains a file in FOLDER. Use os.path.join to get the full path, as above
-            fileNames.append(os.path.join (folderName, filename))
-    import PyUtils.PoolFile as PF
-    PF.PoolOpts.FAST_MODE = True
-    #fileNames = set( fileNames )
-    fileNames.sort()
-    sc = 0
-    goodFileList = "filelist.txt"
-    badFileList = "badfiles.txt"
-    pyFileList = "files.py"
-    if options.maxFiles > 0:
-            pyFileList = "files1.py"
-    if options.outFileName != None:
-        goodFileList = options.outFileName+"-good.txt"
-        badFileList = options.outFileName+"-bad.txt"
-        pyFileList = options.outFileName+".py"
-        if options.maxFiles > 0:
-            pyFileList = options.outFileName+"1.py"
-    out = open( goodFileList, "w" )
-    out3 = open( pyFileList, "w" )
-    out2 = open (badFileList, "w")
-    countGoodFiles = 0
-    countOutFiles = 1
-    countTotalFiles = 0
-    print ("max total files: %i max files per jo file: %i" % (options.maxTotalFiles , options.maxFiles))
-    for fileName in fileNames:
-        countTotalFiles = countTotalFiles+1
-        if (options.maxTotalFiles>0) and (countTotalFiles > options.maxTotalFiles):
-            break
-        #for subdir, dirs, files in os.walk(fileDirs):
-        #for onlyFileName in files:
-        try:
-            #fileName = fileDirs+"/"+onlyFileName
-            #import PyUtils.PoolFile as PF
-            #PF.PoolOpts.FAST_MODE = options.fastMode
-            poolFile = PF.PoolFile( fileName )
-            print ("my events %i" % poolFile.dataHeader.nEntries)
-            if (poolFile.dataHeader.nEntries == options.numberOfExpectedEvents):
-                countGoodFiles = countGoodFiles+1
-                print ("file OK: [%s], good: %i" % (fileName,countGoodFiles))
-                out.write(fileName + os.linesep )
-                out.flush()
-                if (options.maxFiles > 0) and ( countGoodFiles > options.maxFiles) :
-                    out3.close()
-                    countOutFiles = countOutFiles+1
-                    countGoodFiles = 1
-                    if options.outFileName != None:
-                        pyFileList = options.outFileName+str(countOutFiles)+".py"
-                    else :
-                        pyFileList = "files"+str(countOutFiles)+".py"
-                    out3 = open( pyFileList, "w" )
-                out3.write("ServiceMgr.EventSelector.InputCollections += ['"+fileName+"']"+os.linesep)
-                out3.flush()
-            else:
-                print ("number of entries (%i) does not match in file [%s]" % (poolFile.dataHeader.nEntries,  fileName))
-                out2.write(fileName + " entries: " + str(poolFile.dataHeader.nEntries) + os.linesep )
-                out2.flush()
-            #poolFile.checkFile( sorting = options.sortFctName )
-            #if options.doDetailedDump:
-                #dumpFile = os.path.basename(fileName)+ ".txt"
-                #print ("## dumping details into [%s]" % dumpFile)
-                #poolFile.detailedDump( dumpFile )
-            #if options.outFileName:
-                #outFileName = options.outFileName
-                #print ("## saving checkFile report into [%s]..." % outFileName)
-                #poolFile.saveReport( outFileName )
-        except Exception as e:
-            print ("## Caught exception [%s] !!" % str(e.__class__))
-            print ("## What:",e)
-            print (sys.exc_info()[0])
-            print (sys.exc_info()[1])
-            sc = 1
-            out2.write(fileName + " gives exception: " + str(e.__class__) + os.linesep )
-            pass
-
-        except :
-            print ("## Caught something !! (don't know what)")
-            print (sys.exc_info()[0])
-            print (sys.exc_info()[1])
-            sc = 10
-            pass
-        if len(fileNames) > 1:
-            print ("")
-        pass # loop over fileNames
-    
-    #print ("## Bye.")
-    sys.exit(sc)
diff --git a/PhysicsAnalysis/PanTauAnalysis/share/featureList.py b/PhysicsAnalysis/PanTauAnalysis/share/featureList.py
deleted file mode 100644
index 21a2d217dd49707a844c20df8f165756be4e3cfd..0000000000000000000000000000000000000000
--- a/PhysicsAnalysis/PanTauAnalysis/share/featureList.py
+++ /dev/null
@@ -1,855 +0,0 @@
-
-
-# #########################################################################################
-#
-# New structured features --- setup variables
-#
-# #########################################################################################
-
-Default_Values = {}
-Default_Sigmas = {}
-
-featureDefaultValue = {}
-featureDefaultValueSmearingSigma = {}
-featureType = {}
-
-
-# #########################################################################################
-#
-# New structured features --- basic features from SeedBuilderAlg
-#
-# #########################################################################################
-
-Basic_Name = "Basic"
-
-Feature_Basic_Names = []
-Feature_Basic_Names += ["NChargedEFO"]
-Feature_Basic_Names += ["NQualChrgEFO"]
-Feature_Basic_Names += ["NQualChrg2EFO"]
-Feature_Basic_Names += ["NAllEFO"]
-Feature_Basic_Names += ["NNeutralEFO"]
-Feature_Basic_Names += ["NNeutral1EFO"]
-Feature_Basic_Names += ["NNeutral2EFO"]
-Feature_Basic_Names += ["NNeutCore1EFO"]
-Feature_Basic_Names += ["NNeutCore2EFO"]
-Feature_Basic_Names += ["NEmNeutEFO"]
-Feature_Basic_Names += ["NHadNeutEFO"]
-Feature_Basic_Names += ["NPi0NeutEFO"]
-Feature_Basic_Names += ["NQualNeutEFO"]
-Feature_Basic_Names += ["SumCharge"]
-Feature_Basic_Names += ["SumChargeQualified"]
-Feature_Basic_Names += ["SumChargeQualified2"]
-Feature_Basic_Names += ["AbsSumCharge"]
-Feature_Basic_Names += ["AbsSumChargeQualified"]
-Feature_Basic_Names += ["AbsSumChargeQualified2"]
-
-for iFeature in Feature_Basic_Names:
-
-    curName = iFeature
-    curFeature = Basic_Name + "_" + curName
-    
-    featureDefaultValue[curFeature] = -10.
-    featureDefaultValueSmearingSigma[curFeature] = 0.1
-    featureType[curFeature] = 'F'
-#end loop over features in basic features
-
-
-
-# #########################################################################################
-#
-# New structured features --- four momentum
-#
-# #########################################################################################
-
-Momentum_Name = "Basic"
-
-Momentum_Types = []
-Momentum_Types += ["core"]
-Momentum_Types += ["sum"]
-Momentum_Types += ["ChargedEFOs"]
-Momentum_Types += ["NeutralEFOs"]
-Momentum_Types += ["Pi0NeutEFOs"]
-Momentum_Types += ["Core10GeV"]
-Momentum_Types += ["Core15GeV"]
-Momentum_Types += ["Core20GeV"]
-Momentum_Types += ["Core25GeV"]
-Momentum_Types += ["Core10GevMax53"]
-Momentum_Types += ["Core10GevMax54"]
-Momentum_Types += ["Core10GevMax55"]
-Momentum_Types += ["Core10GevMax57"]
-Momentum_Types += ["Core10GevMax59"]
-Momentum_Types += ["Core20GevMax53"]
-Momentum_Types += ["Core20GevMax54"]
-Momentum_Types += ["Core20GevMax55"]
-Momentum_Types += ["Core20GevMax57"]
-Momentum_Types += ["Core20GevMax59"]
-
-Feature_Momentum_Names = []
-#Feature_Momentum_Names += ["e"]
-#Feature_Momentum_Names += ["et"]
-Feature_Momentum_Names += ["pt"]
-Feature_Momentum_Names += ["eta"]
-Feature_Momentum_Names += ["phi"]
-Feature_Momentum_Names += ["m"]
-
-print("featureList.py: Adding momentum features...")
-for iType in Momentum_Types:
-    for iVar in Feature_Momentum_Names:
-        
-        curType = iType
-        curName = iVar
-        
-        curFeature = Momentum_Name + "_" + curType + "_" + curName
-        
-        defaultValue = -9999
-        smearValue = 500
-        if iVar == "eta" or iVar == "phi":
-            defaultValue = -7
-            smearValue = 0.1
-        if iVar == "m":
-            defaultValue = -200
-            smearValue = 10
-        
-        featureDefaultValue[curFeature] = defaultValue
-        featureDefaultValueSmearingSigma[curFeature] = smearValue
-        featureType[curFeature] = 'F'
-        
-        if curType == "ChargedEFOs" or curType == "NeutralEFOs" or curType == "Pi0NeutEFOs":
-            featureType[curFeature] = 'V'
-        
-    #end loop over variables in momentum
-#end loop over types of momentum
-
-
-
-# #########################################################################################
-#
-# New structured features --- Reco Mode
-#
-# #########################################################################################
-
-RecoMode_Types = []
-RecoMode_Types += ["Loose"]
-#RecoMode_Types += ["Medium"]
-#RecoMode_Types += ["Tight"]
-
-for iModeType in RecoMode_Types:
-    
-    curType = iModeType
-    curFeature = "RecoMode" + curType
-    
-    featureDefaultValue[curFeature] = -4
-    featureDefaultValueSmearingSigma[curFeature] = 0.1
-    featureType[curFeature] = 'I'
-#end loop over types for reco mode
-
-
-# #########################################################################################
-#
-# New structured features --- single types
-#
-# #########################################################################################
-
-Features_Prefix = "Eflow_"
-
-EFO_Types = []
-#EFO_Types += ["Charged"]
-EFO_Types += ["QualChrg"]
-#EFO_Types += ["QualChrg2"]
-#EFO_Types += ["EmNeut"]
-EFO_Types += ["Pi0Neut"]
-EFO_Types += ["QualNeut"]
-#EFO_Types += ["HadNeut"]
-#EFO_Types += ["Neutral"]
-#EFO_Types += ["Neutral1"]
-#EFO_Types += ["Neutral2"]
-#EFO_Types += ["NeutCore1"]
-#EFO_Types += ["NeutCore2"]
-#EFO_Types += ["All"]
-
-SeedEtTypes = []
-SeedEtTypes += ["EtAll"]
-SeedEtTypes += ["EtQualEFOs"]
-#SeedEtTypes += ["EtAll1GeV"]
-#SeedEtTypes += ["EtAll2GeV"]
-#SeedEtTypes += ["EtCore1GeV"]
-#SeedEtTypes += ["EtCore2GeV"]
-
-SeedETypes = []
-SeedETypes += ["EAll"]
-#SeedETypes += ["EAll1GeV"]
-#SeedETypes += ["EAll2GeV"]
-#SeedETypes += ["ECore1GeV"]
-#SeedETypes += ["ECore2GeV"]
-
-
-Feature_Type_Names = []
-#######################
-### Angles
-#######################
-Default_Values["Angle"] = -0.2
-Default_Sigmas["Angle"] = 0.01
-Feature_Type_Names += [ ["Angle", "1stTo2nd"] ]
-Feature_Type_Names += [ ["Angle", "1stTo3rd"] ]
-Feature_Type_Names += [ ["Angle", "1stToJetAxis"] ]
-Feature_Type_Names += [ ["Angle", "2ndTo3rd"] ]
-Feature_Type_Names += [ ["Angle", "2ndToJetAxis"] ]
-Feature_Type_Names += [ ["Angle", "3rdToJetAxis"] ]
-Feature_Type_Names += [ ["Angle", "Btw1213Planes"] ]
-Feature_Type_Names += [ ["Angle", "MaxToJetAxis"] ]
-Feature_Type_Names += [ ["Angle", "MeanValue123"] ]
-Feature_Type_Names += [ ["Angle", "ToJetAxis"] ]
-
-#######################
-### Delta R
-#######################
-Default_Values["DeltaR"] = -0.2
-Default_Sigmas["DeltaR"] = 0.01
-Feature_Type_Names += [ ["DeltaR", "1stTo2nd" ] ]
-Feature_Type_Names += [ ["DeltaR", "1stTo3rd" ] ]
-Feature_Type_Names += [ ["DeltaR", "1stToJetAxis" ] ]
-Feature_Type_Names += [ ["DeltaR", "2ndTo3rd" ] ]
-Feature_Type_Names += [ ["DeltaR", "2ndToJetAxis" ] ]
-Feature_Type_Names += [ ["DeltaR", "3rdToJetAxis" ] ]
-
-Feature_Type_Names += [ ["DeltaR", "1stTo2nd_BDTSort" ] ]
-Feature_Type_Names += [ ["DeltaR", "1stTo3rd_BDTSort" ] ]
-Feature_Type_Names += [ ["DeltaR", "1stToJetAxis_BDTSort" ] ]
-Feature_Type_Names += [ ["DeltaR", "2ndTo3rd_BDTSort" ] ]
-Feature_Type_Names += [ ["DeltaR", "2ndToJetAxis_BDTSort" ] ]
-Feature_Type_Names += [ ["DeltaR", "3rdToJetAxis_BDTSort" ] ]
-
-Feature_Type_Names += [ ["DeltaR", "MaxToJetAxis" ] ]
-Feature_Type_Names += [ ["DeltaR", "ToJetAxis" ] ]
-
-#######################
-### HLV
-#######################
-Default_Values["HLV"] = -9999.0
-Default_Sigmas["HLV"] = 500.
-Feature_Type_Names += [ [ "HLV", "1stE"] ]
-Feature_Type_Names += [ [ "HLV", "1stEta"] ]
-Feature_Type_Names += [ [ "HLV", "1stM"] ]
-Feature_Type_Names += [ [ "HLV", "1stPhi"] ]
-Feature_Type_Names += [ [ "HLV", "2ndE"] ]
-Feature_Type_Names += [ [ "HLV", "2ndEta"] ]
-Feature_Type_Names += [ [ "HLV", "2ndM"] ]
-Feature_Type_Names += [ [ "HLV", "2ndPhi"] ]
-Feature_Type_Names += [ [ "HLV", "3rdE"] ]
-Feature_Type_Names += [ [ "HLV", "3rdEta"] ]
-Feature_Type_Names += [ [ "HLV", "3rdM"] ]
-Feature_Type_Names += [ [ "HLV", "3rdPhi"] ]
-Feature_Type_Names += [ [ "HLV", "SumE"] ]
-Feature_Type_Names += [ [ "HLV", "SumEta"] ]
-Feature_Type_Names += [ [ "HLV", "SumM"] ]
-Feature_Type_Names += [ [ "HLV", "SumPhi"] ]
-
-Feature_Type_Names += [ [ "HLV", "1stE_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "1stEta_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "1stM_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "1stPhi_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "2ndE_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "2ndEta_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "2ndM_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "2ndPhi_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "3rdE_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "3rdEta_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "3rdM_BDTSort"] ]
-Feature_Type_Names += [ [ "HLV", "3rdPhi_BDTSort"] ]
-
-#######################
-### Isolation
-#######################
-Default_Values["Isolation"] = -0.2
-Default_Sigmas["Isolation"] = 0.01
-Feature_Type_Names += [ ["Isolation", "EtIn01OverEtIn02"] ]
-Feature_Type_Names += [ ["Isolation", "EtIn01OverEtIn04"] ]
-for etType in SeedEtTypes:
-    Feature_Type_Names += [ ["Isolation", "EtIn01Over" + etType] ]
-    Feature_Type_Names += [ ["Isolation", "EtIn02Over" + etType] ]
-    Feature_Type_Names += [ ["Isolation", "EtIn03Over" + etType] ]
-    Feature_Type_Names += [ ["Isolation", "EtIn04Over" + etType] ]
-    Feature_Type_Names += [ ["Isolation", "EtIn02To04Over" + etType] ]
-    Feature_Type_Names += [ ["Isolation", "EtIn00To02Over" + etType] ]
-#
-
-
-#######################
-### JetMoments                                      ??? Variable range ???
-#######################
-Default_Values["JetMoment"] = -0.2
-Default_Sigmas["JetMoment"] = 0.01
-Feature_Type_Names += [ ["JetMoment", "EAngle"] ]
-Feature_Type_Names += [ ["JetMoment", "EDR"] ]
-Feature_Type_Names += [ ["JetMoment", "EDR2"] ]
-Feature_Type_Names += [ ["JetMoment", "EDRprime"] ]
-Feature_Type_Names += [ ["JetMoment", "EDRxTotalE"] ]
-Feature_Type_Names += [ ["JetMoment", "EtAngle"] ]
-Feature_Type_Names += [ ["JetMoment", "EtDR"] ]
-Feature_Type_Names += [ ["JetMoment", "EtDR2"] ]
-Feature_Type_Names += [ ["JetMoment", "EtDRprime"] ]
-Feature_Type_Names += [ ["JetMoment", "EtDRxTotalEt"] ]
-
-#######################
-### Means
-#######################
-Default_Values["Mean"] = -0.2
-Default_Sigmas["Mean"] = 0.01
-for etType in SeedEtTypes:
-    Feature_Type_Names += [ ["Mean", "Et_Wrt" + etType] ]
-    Feature_Type_Names += [ ["Mean", "DRToJetAxis_Wrt" + etType] ]
-    Feature_Type_Names += [ ["Mean", "DRToLeading_Wrt" + etType] ]
-#
-for eType in SeedETypes:
-    Feature_Type_Names += [ ["Mean", "E_Wrt" + eType] ]
-    Feature_Type_Names += [ ["Mean", "DRToJetAxis_Wrt" + eType] ]
-    Feature_Type_Names += [ ["Mean", "DRToLeading_Wrt" + eType] ]
-#
-
-#######################
-### Numbers
-#######################
-Default_Values["Num"] = -5.0
-Default_Sigmas["Num"] = 0.2
-Feature_Type_Names += [ ["Num", "EFOIn00To01"] ]
-Feature_Type_Names += [ ["Num", "EFOIn01To02"] ]
-Feature_Type_Names += [ ["Num", "EFOIn02To03"] ]
-Feature_Type_Names += [ ["Num", "EFOIn03To04"] ]
-
-#######################
-### Ratios
-#######################
-Default_Values["Ratio"] = -0.2
-Default_Sigmas["Ratio"] = 0.01
-Feature_Type_Names += [ ["Ratio", "Log1stEtOver2ndEt"] ]
-Feature_Type_Names += [ ["Ratio", "Log1stEtOver3rdEt"] ]
-Feature_Type_Names += [ ["Ratio", "Log2ndEtOver3rdEt"] ]
-Feature_Type_Names += [ ["Ratio", "Log1stEtOver2ndEt_BDTSort"] ]
-Feature_Type_Names += [ ["Ratio", "Log1stEtOver3rdEt_BDTSort"] ]
-Feature_Type_Names += [ ["Ratio", "Log2ndEtOver3rdEt_BDTSort"] ]
-Feature_Type_Names += [ ["Ratio", "EFOsOverTotalEFOs"] ]
-Feature_Type_Names += [ ["Ratio", "1stEtOverTypeEt"] ]
-Feature_Type_Names += [ ["Ratio", "1stBDTEtOverTypeEt"] ]
-for etType in SeedEtTypes:
-    Feature_Type_Names += [ ["Ratio", "EtOver" + etType] ]
-    Feature_Type_Names += [ ["Ratio", "1stEtOver" + etType] ]
-    Feature_Type_Names += [ ["Ratio", "1stBDTEtOver" + etType] ]
-#
-
-#######################
-### StdDevs
-#######################
-Default_Values["StdDev"] = -10000
-Default_Sigmas["StdDev"] = 500.
-Feature_Type_Names += [ ["StdDev", "DRToJetAxis"] ]
-Feature_Type_Names += [ ["StdDev", "DRToLeading"] ]
-Feature_Type_Names += [ ["StdDev", "E"] ]
-Feature_Type_Names += [ ["StdDev", "Et"] ]
-for etType in SeedEtTypes:
-    Feature_Type_Names += [ ["StdDev", "Et_Wrt" + etType] ]
-#
-for eType in SeedETypes:
-    Feature_Type_Names += [ ["StdDev", "E_Wrt" + eType] ]
-#
-
-
-#######################
-### Pi0 BDT Values from eflowRec
-#######################
-#NOTE:  Make sure to only use these for neutral types
-#       in the upcoming for loop 
-Default_Values["eflowPID"] = -2
-Default_Sigmas["eflowPID"] = 0.1
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_1st_BDTSort"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_2nd_BDTSort"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_3rd_BDTSort"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_Sum12_BDTSort"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_Sum123_BDTSort"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_1st"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_2nd"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_3rd"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_Sum12"] ]
-Feature_Type_Names += [ ["eflowPID", "Pi0Val_Sum123"] ]
-
-
-
-#######################
-### Add the single type variables to the 
-### list of features to be extracted
-#######################
-for iEFOType in EFO_Types:
-    for iFeature in Feature_Type_Names:
-        
-        curType = iFeature[0]
-        curName = iFeature[1]
-        
-        #veto exclude variables from extraction (not calculated, redundant
-        if iEFOType != "All":
-            if curType == "Isolation":
-                continue;
-            if curType == "Num":
-                continue;
-        
-        if iEFOType == "All":
-            if curType == "Angle" and curName == "ToJetAxis":
-                continue;
-            if curType == "DeltaR" and curName == "ToJetAxis":
-                continue;
-            if curType == "Ratio" and curName == "EFOsOverTotalEFOs":
-                continue;
-            if curType == "Ratio" and curName == "EtOver":
-                continue;
-        
-        if curType == "eflowPID":
-            if iEFOType.find("Neut") is -1:
-                continue;
-        
-        curFeature = Features_Prefix + iEFOType + "_" + curType + "_" + curName
-        
-        curDefVal = Default_Values[curType]
-        
-        #update default values based on Variable in type:
-        if curType == "HLV":
-            if curName.find("Eta") is not -1:
-                curDefVal = -7
-            if curName.find("Phi") is not -1:
-                curDefVal = -7
-            if curName.find("M") is not -1:
-                curDefVal = -200
-        
-        if curType == "JetMoment":
-            if curName.find("xTotalE") is not -1:
-                curDefVal = -10000
-        
-        if curType == "StdDev":
-            if curName.find("DRTo") is not -1:
-                curDefVal = -0.2
-            if curName.find("WrtE") is not -1:
-                curDefVal = -0.2
-        
-        curDefSig = curDefVal / 20.
-        
-        
-        featureDefaultValue[curFeature] = curDefVal
-        featureDefaultValueSmearingSigma[curFeature] = curDefSig
-        featureType[curFeature] = 'F'
-
-
-
-
-
-# #########################################################################################
-#
-# New structured features --- combined types
-#
-# #########################################################################################
-Default_Values["Combined"] = -0.2
-Default_Sigmas["Combined"] = 0.01
-
-#  ###
-# NOTE: Order of Types here should be the same as in the enumeration in
-#       Reconstruction/PanTau/PanTauEvent/PanTauEvent/CorrectedEflowMomentum.h
-#       Names mut be identical to what CorrectedEflowMomentum::typeName says!
-# BECAUSE:
-#   Features calculated and named by using that enumeration
-#   ===> Extraction needs to apply same pattern!
-# ###
-EFO_Comb = []
-#EFO_Comb += ["Charged"]
-EFO_Comb += ["QualChrg"]
-#EFO_Comb += ["EmNeut"]
-EFO_Comb += ["Pi0Neut"]
-#EFO_Comb += ["HadNeut"]
-#EFO_Comb += ["Neutral"]
-#EFO_Comb += ["Neutral1"]
-#EFO_Comb += ["Neutral2"]
-#EFO_Comb += ["NeutCore1"]
-#EFO_Comb += ["NeutCore2"]
-#EFO_Comb += ["QualChrg2"]
-EFO_Comb += ["QualNeut"]
-
-
-#######################
-### Single features
-#######################
-Feature_Comb_Names_Single = []
-Feature_Comb_Names_Single += [ ["Combined", "NumChargedOverNumNeutral"] ]
-Feature_Comb_Names_Single += [ ["Combined", "NumChargedOverNumTotal"] ]
-Feature_Comb_Names_Single += [ ["Combined", "AnglePlane1stCharged1st2ndNeutral"] ]
-
-#######################
-### Type-vs-Type features
-#######################
-Feature_Comb_Names_TypeVsType = []
-Feature_Comb_Names_TypeVsType += [ ["Combined", "Log", "EtOver", "Et"] ]
-Feature_Comb_Names_TypeVsType += [ ["Combined", "Angle", "To", ""] ]
-Feature_Comb_Names_TypeVsType += [ ["Combined", "DeltaR1st", "To1st", ""] ]
-Feature_Comb_Names_TypeVsType += [ ["Combined", "Angle1st", "To1st", ""] ]
-
-Feature_Comb_Names_TypeVsType_Full = []
-Feature_Comb_Names_TypeVsType_Full += [ ["Combined", "Log1st", "EtOver", "Et"] ]
-
-#######################
-### Selected Type combinations
-#######################
-EFO_Comb_Selected_Charged = []
-#EFO_Comb_Selected_Charged += ["Charged"]
-EFO_Comb_Selected_Charged += ["QualChrg"]
-#EFO_Comb_Selected_Charged += ["QualChrg2"]
-
-EFO_Comb_Selected_Neutral = []
-#EFO_Comb_Selected_Neutral += ["EmNeut"]
-#EFO_Comb_Selected_Neutral += ["Neutral"]
-EFO_Comb_Selected_Neutral += ["Pi0Neut"]
-#EFO_Comb_Selected_Neutral += ["NeutCore1"]
-#EFO_Comb_Selected_Neutral += ["NeutCore2"]
-EFO_Comb_Selected_Neutral += ["QualNeut"]
-
-Feature_Comb_Names_SelTypes = []
-for etType in SeedEtTypes:
-    Feature_Comb_Names_SelTypes += [ ["Combined", "Mean", "Et_Wrt" + etType] ]
-#
-Feature_Comb_Names_SelTypes += [ ["Combined", "InvMass", ""] ]
-Feature_Comb_Names_SelTypes += [ ["Combined", "Angle1st2nd", ""] ]
-
-
-#######################
-### Single features
-#######################
-print("featureList.py: Adding features (combined, single)")
-for iFeatCombSgl in Feature_Comb_Names_Single:
-    
-    curType = iFeatCombSgl[0]
-    curName = iFeatCombSgl[1]
-    
-    curFeature = Features_Prefix + curType + "_" + curName
-    
-    curDefVal = Default_Values[curType]
-    curDefSig = curDefVal /20.
-    
-    featureDefaultValue[curFeature] = curDefVal
-    featureDefaultValueSmearingSigma[curFeature] = curDefSig
-    featureType[curFeature] = 'F'
-#end for loop over combined features (single)
-
-
-#######################
-### Type-vs-Type
-#######################
-for iType in range(len(EFO_Comb)):
-    for jType in range(len(EFO_Comb)):
-        
-        if jType == iType:
-            continue
-        
-        #Add combined features NOT symmetric in the two systems:
-        for iFeatCombTvTF in Feature_Comb_Names_TypeVsType_Full:
-            EFO_I = EFO_Comb[iType]
-            EFO_J = EFO_Comb[jType]
-            
-            curType = iFeatCombTvTF[0]
-            curFrag_A = iFeatCombTvTF[1]
-            curFrag_B = iFeatCombTvTF[2]
-            curFrag_C = iFeatCombTvTF[3]
-            
-            curName = curFrag_A + EFO_J + curFrag_B + EFO_I + curFrag_C
-            curFeature = Features_Prefix + curType + "_" + curName
-            
-            curDefVal = Default_Values[curType]
-            curDefSig = Default_Sigmas[curType]
-            
-            if curName.find("Log1st") is not -1:
-                curDefVal = -5.
-            
-            curDefSig = curDefVal/20.
-            
-            featureDefaultValue[curFeature] = curDefVal
-            featureDefaultValueSmearingSigma[curFeature] = curDefSig
-            featureType[curFeature] = 'F'
-        
-        #For the symmetric ones, no need to get A-B and B-A, hence skip
-        if jType < iType:
-            continue
-        
-        for iFeatCombTvT in Feature_Comb_Names_TypeVsType:
-            
-            EFO_I = EFO_Comb[iType]
-            EFO_J = EFO_Comb[jType]
-            
-            curType = iFeatCombTvT[0]
-            curFrag_A = iFeatCombTvT[1]
-            curFrag_B = iFeatCombTvT[2]
-            curFrag_C = iFeatCombTvT[3]
-            
-            curName = curFrag_A + EFO_J + curFrag_B + EFO_I + curFrag_C
-            curFeature = Features_Prefix + curType + "_" + curName
-            
-            curDefVal = Default_Values[curType]
-            
-            
-            if curName.find("Log") is not -1:
-                curDefVal = -5.
-            
-            curDefSig = curDefVal/20.
-            
-            featureDefaultValue[curFeature] = curDefVal
-            featureDefaultValueSmearingSigma[curFeature] = curDefSig
-            featureType[curFeature] = 'F'
-#end for loop over combined features (single)
-
-
-#######################
-### Selected Type combinations
-#######################
-for cType in EFO_Comb_Selected_Charged:
-    for nType in EFO_Comb_Selected_Neutral:
-        for iFeatCombSelT in Feature_Comb_Names_SelTypes:
-            
-            curType = iFeatCombSelT[0]
-            curFrag_A = iFeatCombSelT[1]
-            curFrag_B = iFeatCombSelT[2]
-            
-            curName = curFrag_A + cType + nType + curFrag_B
-            curFeature = Features_Prefix + curType + "_" + curName
-            
-            curDefVal = Default_Values[curType]
-            curDefSig = Default_Sigmas[curType]
-            
-            if curName.find("InvMass") is not -1:
-                curDefVal = -500.
-            
-            curDefSig = curDefVal/20.
-            
-            featureDefaultValue[curFeature] = curDefVal
-            featureDefaultValueSmearingSigma[curFeature] = curDefSig
-            featureType[curFeature] = 'F'
-#end for loop over combined features (single)
-
-
-
-# #########################################################################################
-#
-# New structured features --- Generic Jet Features
-#
-# #########################################################################################
-JetShape_Name = "JetShape"
-
-Default_Values[JetShape_Name] = -0.5
-Default_Sigmas[JetShape_Name] = 0.01
-
-Feature_JetShape_Names = []
-Feature_JetShape_Names += ["JetThrust"]
-Feature_JetShape_Names += ["JetThrustMajor"]
-Feature_JetShape_Names += ["JetThrustMinor"]
-Feature_JetShape_Names += ["JetOblateness"]
-Feature_JetShape_Names += ["JetFoxWolfram1"]
-Feature_JetShape_Names += ["JetFoxWolfram2"]
-Feature_JetShape_Names += ["JetFoxWolfram3"]
-Feature_JetShape_Names += ["JetFoxWolfram4"]
-Feature_JetShape_Names += ["JetFoxWolframRatioFW2OverFW1"]
-Feature_JetShape_Names += ["JetFoxWolframRatioFW4pow4OverFW1"]
-Feature_JetShape_Names += ["JetFoxWolframRatioFW234OverFW1pow4"]
-Feature_JetShape_Names += ["JetFoxWolframRatioFW1PlusFW2OverFW4"]
-Feature_JetShape_Names += ["JetSphericity"]
-Feature_JetShape_Names += ["JetSphericityXEt"]
-Feature_JetShape_Names += ["JetAplanarity"]
-Feature_JetShape_Names += ["JetPlanarity"]
-
-#######################
-### Selected Type combinations
-#######################
-print("featureList.py: Adding features (JetShape)")
-for iJetShape in Feature_JetShape_Names:
-    
-    curFeature = JetShape_Name + "_" + iJetShape
-    
-    curDefVal = Default_Values[JetShape_Name]
-    
-    if iJetShape.find("XEt") is not -1:
-        curDefVal = -10000
-    
-    curDefSig = curDefVal/20.
-    
-    featureDefaultValue[curFeature] = curDefVal
-    featureDefaultValueSmearingSigma[curFeature] = curDefSig
-    featureType[curFeature] = 'F'
-#end for loop over combined features (single)
-
-
-
-
-# #########################################################################################
-#
-# New structured features --- Impact Parameters
-#
-# #########################################################################################
-ImpactParams_Name = "ImpactParams"
-
-Default_Values[ImpactParams_Name] = -10.
-Default_Sigmas[ImpactParams_Name] = 1.
-
-Feature_ImpactParams_Names = []
-Feature_ImpactParams_Names += ["TransIPTrack1"]
-Feature_ImpactParams_Names += ["TransIPSignfTrack1"]
-Feature_ImpactParams_Names += ["LongIPTrack1"]
-Feature_ImpactParams_Names += ["LongIPSignfTrack1"]
-Feature_ImpactParams_Names += ["TransIPTrack2"]
-Feature_ImpactParams_Names += ["TransIPSignfTrack2"]
-Feature_ImpactParams_Names += ["LongIPTrack2"]
-Feature_ImpactParams_Names += ["LongIPSignfTrack2"]
-Feature_ImpactParams_Names += ["TransIPTrack3"]
-Feature_ImpactParams_Names += ["TransIPSignfTrack3"]
-Feature_ImpactParams_Names += ["LongIPTrack3"]
-Feature_ImpactParams_Names += ["LongIPSignfTrack3"]
-Feature_ImpactParams_Names += ["Largest"]
-Feature_ImpactParams_Names += ["LargestSignf"]
-Feature_ImpactParams_Names += ["SecondLargest"]
-Feature_ImpactParams_Names += ["SecondLargestSignf"]
-Feature_ImpactParams_Names += ["ThirdLargest"]
-Feature_ImpactParams_Names += ["ThirdLargestSignf"]
-
-
-#######################
-### Impact Parameters
-#######################
-for iImpactParam in Feature_ImpactParams_Names:
-    
-    curFeature = ImpactParams_Name + "_" + iImpactParam
-    
-    curDefVal = Default_Values[ImpactParams_Name]
-    
-    if iImpactParam.find("Signf") is not -1: #if it's a significance
-            curDefVal = -40
-    
-    curDefSig = curDefVal/20.
-    
-    featureDefaultValue[curFeature] = curDefVal
-    featureDefaultValueSmearingSigma[curFeature] = curDefSig
-    featureType[curFeature] = 'F'
-#end for loop over combined features (single)
-
-
-
-
-
-
-
-
-### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 
-## ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 
-# ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ### 
-
-#NOTE
-# Need to have the old features here because the old names are used in the discriminant tools
-# They cannot be neglected, because otherwise TMVA throws an error
-# NOTE: Once the BDTs are retrained, remove this part below
-#NOTE
-
-DefaultVal_Angle = -5.0
-DefaultSig_Angle =  0.2
-
-DefaultVal_AbsE = -10000.
-DefaultSig_AbsE =    250.
-
-DefaultVal_Ratios = -2.0
-DefaultSig_Ratios =  0.1
-
-DefaultVal_DeltaR = -4.0
-DefaultSig_DeltaR =  0.2
-
-DefaultVal_InvSigm = -25.0
-DefaultSig_InvSigm =   0.1
-
-DefaultVal_Unsigned = -5.0
-DefaultSig_Unsigned =  0.5
-
-DefaultVal_JetParam = -5.0
-DefaultSig_JetParam =  0.2
-
-DefaultVal_Misc = -20.0
-DefaultSig_Misc =   0.2
-
-featureDefaultValue['EflowDRLeadingChargedLeadingNeutral'] = DefaultVal_DeltaR
-featureDefaultValueSmearingSigma['EflowDRLeadingChargedLeadingNeutral'] = DefaultSig_DeltaR
-featureType['EflowDRLeadingChargedLeadingNeutral'] = 'F'
-
-featureDefaultValue['EflowChargedToNeutralEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowChargedToNeutralEt'] = DefaultSig_Ratios
-featureType['EflowChargedToNeutralEt'] = 'F'
-
-featureDefaultValue['NEFOIn01'] = DefaultVal_Unsigned
-featureDefaultValueSmearingSigma['NEFOIn01'] = DefaultSig_Unsigned
-featureType['NEFOIn01'] = 'F'
-
-featureDefaultValue['EflowNeutralSumEt'] = DefaultVal_AbsE
-featureDefaultValueSmearingSigma['EflowNeutralSumEt'] = DefaultSig_AbsE
-featureType['EflowNeutralSumEt'] = 'F'
-
-featureDefaultValue['EflowMeanEtChrgToSumEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowMeanEtChrgToSumEt'] = DefaultSig_Ratios
-featureType['EflowMeanEtChrgToSumEt'] = 'F'
-
-featureDefaultValue['NChargedQualifiedEFO'] = DefaultVal_Unsigned
-featureDefaultValueSmearingSigma['NChargedQualifiedEFO'] = DefaultSig_Unsigned
-featureType['NChargedQualifiedEFO'] = 'I'
-
-featureDefaultValue['EflowRatioDeltaPt12To13LeadingChargedQualifiedComponents'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowRatioDeltaPt12To13LeadingChargedQualifiedComponents'] = DefaultSig_Ratios
-featureType['EflowRatioDeltaPt12To13LeadingChargedQualifiedComponents'] = 'F'
-
-featureDefaultValue['EflowEtLeadingChrgQualifiedOverTotalEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowEtLeadingChrgQualifiedOverTotalEt'] = DefaultSig_Ratios
-featureType['EflowEtLeadingChrgQualifiedOverTotalEt'] = 'F'
-
-featureDefaultValue['EflowStdDevEtToSumEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowStdDevEtToSumEt'] = DefaultSig_Ratios
-featureType['EflowStdDevEtToSumEt'] = 'F'
-
-featureDefaultValue['EflowChargedToSumEtInvSigm'] = DefaultVal_InvSigm
-featureDefaultValueSmearingSigma['EflowChargedToSumEtInvSigm'] = DefaultSig_InvSigm
-featureType['EflowChargedToSumEtInvSigm'] = 'F'
-
-featureDefaultValue['EflowJetMomentDRChrg'] = DefaultVal_JetParam
-featureDefaultValueSmearingSigma['EflowJetMomentDRChrg'] = DefaultSig_JetParam
-featureType['EflowJetMomentDRChrg'] = 'F'
-
-featureDefaultValue['EflowMeanEtNeutToSumEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowMeanEtNeutToSumEt'] = DefaultSig_Ratios
-featureType['EflowMeanEtNeutToSumEt'] = 'F'
-
-featureDefaultValue['EflowChargedToSumEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowChargedToSumEt'] = DefaultSig_Ratios
-featureType['EflowChargedToSumEt'] = 'F'
-
-featureDefaultValue['EflowJetMomentDRChrg'] = DefaultVal_JetParam
-featureDefaultValueSmearingSigma['EflowJetMomentDRChrg'] = DefaultSig_JetParam
-featureType['EflowJetMomentDRChrg'] = 'F'
-
-featureDefaultValue['EflowMeanEtNeutToSumEt'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowMeanEtNeutToSumEt'] = DefaultSig_Ratios
-featureType['EflowMeanEtNeutToSumEt'] = 'F'
-
-featureDefaultValue['EflowDihedralAngleLeadingChargedQualified'] = DefaultVal_Angle
-featureDefaultValueSmearingSigma['EflowDihedralAngleLeadingChargedQualified'] = DefaultSig_Angle
-featureType['EflowDihedralAngleLeadingChargedQualified'] = 'F'
-
-featureDefaultValue['EflowMaxDRLeadingChargedQualifiedComponents'] = DefaultVal_DeltaR
-featureDefaultValueSmearingSigma['EflowMaxDRLeadingChargedQualifiedComponents'] = DefaultSig_DeltaR
-featureType['EflowMaxDRLeadingChargedQualifiedComponents'] = 'F'
-
-featureDefaultValue['EflowRatioDeltaPt23To13LeadingChargedQualifiedComponents'] = DefaultVal_Ratios
-featureDefaultValueSmearingSigma['EflowRatioDeltaPt23To13LeadingChargedQualifiedComponents'] = DefaultSig_Ratios
-featureType['EflowRatioDeltaPt23To13LeadingChargedQualifiedComponents'] = 'F'
-
-featureDefaultValue['AbsSumCharge'] = DefaultVal_Unsigned
-featureDefaultValueSmearingSigma['AbsSumCharge'] = DefaultSig_Unsigned
-featureType['AbsSumCharge'] = 'F'
-
-featureDefaultValue['NEFOIn02'] = DefaultVal_Unsigned
-featureDefaultValueSmearingSigma['NEFOIn02'] = DefaultSig_Unsigned
-featureType['NEFOIn02'] = 'F'
-
-featureDefaultValue['SumCharge'] = DefaultVal_Misc
-featureDefaultValueSmearingSigma['SumCharge'] = DefaultSig_Misc
-featureType['SumCharge'] = 'I'
-
diff --git a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
index 2c2bf69a7b95bc0b194be7920107392525d6b5c2..48fb48844a4a5adb407a955d06af07b9c6031953 100644
--- a/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
+++ b/Reconstruction/RecExample/RecExCommon/share/RecExCommon_topOptions.py
@@ -69,7 +69,6 @@ excludeTracePattern.append("*/D3PDMakerCoreComps/MakerAlg.py")
 excludeTracePattern.append("*/D3PDMakerCoreComps/D3PDObject.py")
 excludeTracePattern.append("*/RecExConfig/RecoFunctions.py")
 excludeTracePattern.append("*/DQDefects/virtual*")
-excludeTracePattern.append("*/PanTauAnalysis/Class_FeatureHandler.py")
 excludeTracePattern.append("*/TrigEDMConfig/TriggerEDM.py")
 excludeTracePattern.append("*/TrigL2MissingET/TrigL2MissingETMonitoring.py")
 excludeTracePattern.append("*AthFile/impl.py")