diff --git a/Reconstruction/DiTauRec/README.rst b/Reconstruction/DiTauRec/README.rst
new file mode 100644
index 0000000000000000000000000000000000000000..b367df6d1814b2375a6767a247d144b3a280d6c8
--- /dev/null
+++ b/Reconstruction/DiTauRec/README.rst
@@ -0,0 +1,330 @@
+======================
+Di-Tau Reconstruction
+======================
+
+:authors: David Kirchmeier
+:contact: david.kirchmeier@cern.ch
+
+.. contents:: Table of contents
+
+|
+|
+|
+
+Introduction
+============
+
+The di-tau reconstruction package (``DiTauRec``) provides a new 
+method for reconstructing boosted pairs of tau leptons. 
+It is meant to be an addition to the approach of reconstructing single taus 
+for a high pT boosted region.
+With the approach of single tau reconstruction it is not possible to reconstruct
+tau pair topologies with low spatial separation, corresponding to a di-tau pT > 500 GeV.
+
+The current development of ``DiTauRec`` is focused on full-hadronic tau decays (hadhad) but
+also an semi-leptonic decay mode (lephad) is implemented and ready for 
+further investigation.
+Additionally, a multi-variate di-tau identification algorithm is under development which will be able to suppress QCD jet background with high efficiency.
+
+``DiTauRec`` uses anti-kt-10 fat jets as seeds for its search for di-tau candidates. 
+These are filtered for subjets. 
+A candidate for a full-hadronic tau pair decay should include at least two subjets, while 
+each subjet has to include at least one track. 
+For semi-leptonic tau pair decays also one subjet plus an electron or muon candidate within
+the seed jet area is allowed.
+
+A general introduction into di-tau tagging in ATLAS can be found in my `master thesis <https://cds.cern.ch/record/2105592>`_. 
+Some slides about the general implementation can be found `here <https://indico.cern.ch/event/441941/session/1/contribution/7/attachments/1157918/1666256/15-09-22-TauWorkshop.pdf>`_.
+
+|
+|
+|
+
+Implementation
+================
+
+Di-Tau Builder
+-------------------
+`DiTauBuilder.cxx <src/DiTauBuilder.cxx>`_ is the main class for di-tau reconstruction.
+It sets cuts on the seed jet and loops over all di-tau candidates. 
+The di-tau candidate information is stored by 
+`DiTauCandidateData.h <DiTauRec/DiTauCandidateData.h>`_.
+
+`DiTauBuilder.py <python/DiTauBuilder.py>`_ is the main job options file.
+It configures the DiTauBuilder class and defines the names of input and output containers, 
+as well as the radius parameters for seed jet and subjet reconstruction.
+
+|
+
+Di-Tau Reconstruction Tools
+---------------------------
+
+DiTauBuilder.cxx makes use of several tools which are successively applied to a 
+di-tau candidate.
+The getter functions for these tools are defined in 
+`DiTauAlgorithmsHolder.py <python/DiTauAlgorithmsHolder.py>`_.
+These tools are applied in the following order:
+
+* `SeedJetBuilder <src/SeedJetBuilder.cxx>`_ (stores seed jet information in 
+  DiTauCandidateData)
+* `ElMuFinder <src/ElMuFinder.cxx>`_ (searches for electrons and muons inside the seed jet)
+* `SubjetBuilder <src/SubjetBuilder.cxx>`_ (reconstructs subjets within the seed jet)
+* `VertexFinder <src/VertexFinder.cxx>`_ (finds the most likely primary vertex)
+* `DiTauTrackFinder <src/DiTauTrackFinder.cxx>`_ (associates tracks to the seed jet and checks quality criteria)
+* `CellFinder <src/CellFinder.cxx>`_ (stores information of calorimeter cells which are located inside the 
+  subjets)
+* `IDvarCalculator <src/IDvarCalculator.cxx>`_ (calculates the f_core ID variable for each subjet which 
+  can be useful for background rejection later)
+
+These tools are loaded and configured in DiTauBuilder.py and are executed in DiTauBuilder.cxx.
+It has to be noted that CellFinder and IDvarCalculator do need cell information, which
+is usually not provided in xAOD input files (we will come to that in `Reconstructing Di-Tau Candidates`_).
+
+|
+
+Di-Tau Quality Cuts
+------------------------
+
+These cuts are intended to give a reasonable quality of the di-tau candidate. 
+By applying a high cut on the seed jet pT only di-tau candidates in the interesting highly boosted tau pair region are stored.
+
+*  Jet pT > 300 GeV
+*  Subjet pT > 15 GeV, nTracks > 1, n < 5
+*  Track pT > 1 GeV, IPd0Max = 1, IPz0Max = 1.5
+*  Electron pT > 7 GeV, \|eta\| < 2.47, author: Electron or Ambiguous
+*  Muon pT > 7 GeV, \|eta\| < 2.47, muon quality = 2 (MuonSelectionTool)
+
+|
+
+Di-Tau Event Data Model (EDM)
+------------------------------
+
+The implementation of the Di-Tau EDM can be found in
+`Event/xAOD/xAODTau <https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTau/trunk>`_.
+The pool converters are implemented in
+`Event/xAOD/xAODTauAthenaPool <https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTauAthenaPool>`_.
+
+| 
+|
+|
+
+Reconstructing Di-Tau Candidates
+=================================
+
+This section describes how to use ``DiTauRec``. 
+In samples which are produced with Athena release 20.7.2 
+(and above) di-tau candidates will already be available.
+If your sample is a HITS, RDO or ESD file and you want to apply ``DiTauRec`` as part of the full reconstruction chain, follow `Environmental Setup`_ and `DiTauRec in Full Reconstruction`_. 
+If your sample is a xAOD file and you want to apply ``DiTauRec`` follow `Environmental Setup`_ and `DiTauRec with xAOD input`_.
+If your xAOD sample already includes di-tau candidates you can continue with
+the next chapter `Di-Tau Container Readout`_. 
+
+|
+
+Environmental Setup
+-------------------
+
+Create a new directory where to setup the athena environment 
+(feel free to choose another directory name):
+
+.. code-block:: bash
+
+    mkdir DiTauRec
+    cd DiTauRec
+
+Setup atlas (the first 2 lines are only needed, if you are not on lxplus):
+
+.. code-block:: bash
+
+    export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
+    alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh'
+    
+    setupATLAS
+ 
+Setup an athena release, e.g.:
+
+.. code-block:: bash
+
+    asetup 20.1.5.10,here
+
+Check out the following packages:
+
+.. code-block:: bash
+    
+    cmt co Reconstruction/DiTauRec
+    cmt co -r xAODTau-00-01-14 Event/xAOD/xAODTau
+    cmt co -r xAODTauAthenaPool-00-01-07 Event/xAOD/xAODTauAthenaPool
+    cmt co -r tauRecTools-00-00-03 Reconstruction/tauRecTools
+
+In releases older than 20.7.2 ``DiTauRec`` is not part of the reconstruction chain. 
+Therefore we have to checkout ``RecExCommon`` and ``RecExPers`` and apply a small patch. 
+You can find the correct tags for ``RecExCommon`` and ``RecExPers`` corresponding to your athena
+release via:
+
+.. code-block:: bash
+    
+    cmt show versions Reconstruction/RecExample/RecExCommon
+    cmt show versions Reconstruction/RecExample/RecExPers 
+
+Now checkout ``RecExCommon`` and ``RecExPers`` (with the correct tags from the command above) and apply the patch via
+
+.. code-block:: bash
+
+    cmt co -r RecExCommon-00-14-32 Reconstruction/RecExample/RecExCommon
+    cmt co -r RecExPers-00-03-22 Reconstruction/RecExample/RecExPers 
+    cp /afs/cern.ch/user/d/dkirchme/work/public/DiTauSetup/CombinedRec_config.py Reconstruction/RecExample/RecExCommon/share
+    cp /afs/cern.ch/user/d/dkirchme/work/public/DiTauSetup/RecoOutput*List_jobOptions.py Reconstruction/RecExample/RecExPers/share
+
+Finally we can setup a work area and compile:
+
+.. code-block:: bash
+
+    setupWorkArea.py
+    cd WorkArea/cmt
+    cmt bro cmt config
+    cmt bro make
+
+|
+
+DiTauRec in Full Reconstruction
+----------------------------------
+
+This section is about reconstructing di-tau candidates in HITS, RDO or ESD files.
+``DiTauRec`` is executed here as part of the full reconstruction chain. 
+The advantage is that the ``DiTauRec`` is able to calculate ID variables
+by using cell information.
+This does not effect the performance of the reconstruction but may improve 
+a later background separation.
+The full reconstruction in athena is done with the ``Reco_tf.py`` script
+(for more information see `RecoTf <https://twiki.cern.ch/twiki/bin/view/AtlasComputing/RecoTf>`_ 
+and `JobTransform <https://twiki.cern.ch/twiki/bin/view/AtlasComputing/JobTransform#General_Documentation>`_). 
+To get the correct command (which corresponds to the ami tag of the input file)
+we have to load ``pyami``:
+
+.. code-block:: bash
+
+    cd $TestArea
+    voms-proxy-init -voms atlas
+    lsetup pyami
+
+and execute ``GetTfCommand.py`` (also see `TransformConfiguration#Configuration_from_AMI <https://twiki.cern.ch/twiki/bin/view/AtlasComputing/TransformConfiguration#Configuration_from_AMI>`_), e.g.:
+
+.. code-block:: bash
+
+    GetTfCommand.py --AMI r6869
+
+The printed Reco_tf command may have a number of configurations dedicated to the 
+ami tag you have provided. For the sake of simplicity we will continue with a minimal RecoTf command 
+(do not forget to change the input file path):
+
+.. code-block:: bash
+
+    cd $TestArea/WorkArea/run  # you may also create a sub-folder for each run
+    Reco_tf.py --autoConfiguration='everything' --maxEvents '100' --inputESDFile '/path/to/file' --outputAODFile 'myAOD.pool.root'
+
+In case the run was successful you should see the file ``myAOD.pool.root`` containing 
+a full set of reconstructed physics objects including ``DiTauJets``.
+If this is not the case make sure that you checked out the correct tags of ``RecExCommon`` and ``RecExPers`` and that your input events contain and a sufficient amount of high-pT jets. 
+
+You can configure the above command by using several `DiTauRecFlags <python/DiTauRecFlags.py>`_.
+For example you can lower the seed jet cut to 30 GeV with
+
+.. code-block:: bash
+
+    Reco_tf.py --autoConfiguration='everything' --maxEvents '100' --preExec 'ESDtoAOD:from DiTauRec.DiTauRecFlags import diTauFlags; diTauFlags.diTauRecJetSeedPt.set_Value_and_Lock(30000)' --inputESDFile '/path/to/file' --outputAODFile 'myAOD.pool.root'
+
+|
+
+DiTauRec with xAOD input
+---------------------------
+
+This section is about reconstructing di-tau candidates in (x)AOD files.
+The reconstruction is done again with the ``Reco_tf.py`` script
+(for more information see `RecoTf <https://twiki.cern.ch/twiki/bin/view/AtlasComputing/RecoTf>`_ 
+and `JobTransform <https://twiki.cern.ch/twiki/bin/view/AtlasComputing/JobTransform#General_Documentation>`_). 
+At first go into the run folder
+
+.. code-block:: bash
+
+  cd $TestArea/WorkArea/run
+
+then execute ``DiTauRec`` by using the following command (change the input file path first):
+
+.. code-block:: bash
+
+    Reco_tf.py --preInclude 'DiTauRec/DiTauRecAOD_config.py' --maxEvents '100' --preExec 'all:from DiTauRec.DiTauRecFlags import diTauFlags; diTauFlags.doVtxFinding.set_Value_and_Lock(True); diTauFlags.diTauRecJetSeedPt.set_Value_and_Lock(30000); diTauFlags.doCellFinding.set_Value_and_Lock(False)' --inputAODFile='/path/to/file' --outputAOD_RPRFile='myAOD.pool.root'
+
+The ``--preInclude`` option defines the job options `DiTauRecAOD_config.py <share/DiTauRecAOD_config.py>`_, which is dedicated to an execution on AOD input files. 
+After the ``--preExec`` option several `DiTauRecFlags <python/DiTauRecFlags.py>`_ are configured.
+Note that vertexing is usally turned off in AOD-to-AOD reconstruction, though it has to be explicitly turned on for ``DiTauRec`` here. 
+Since cell information is not available in AOD files, the cell finding is turned off.
+This does not effect the performance of the reconstruction but may decrease 
+a later background separation power.
+The location of the input file is defined with ``--inputAODFile``, the name of the output file is
+defined with the ``--outputAOD_RPRFile`` option.
+In case the run was successful you should see the file ``myAOD.pool.root`` containing 
+the set of reconstructed physics objects you had before plus ``DiTauJets``.
+If this is not the case make sure that DiTauRecAOD_config.py is included successfully and that your input events contain and a sufficient amount of high-pT jets. 
+
+|
+|
+|
+
+Di-Tau Container Readout
+=========================
+
+This section is about reading a di-tau container in RootCore. 
+In general, reading di-tau candidates from xAOD works as usual (see `xAOD Analysis in RootCore <https://twiki.cern.ch/twiki/bin/viewauth/AtlasComputing/SoftwareTutorialxAODAnalysisInROOT>`_).
+In older base releases the ``xAODTau`` package has to be checked out, since it includes the definitions of the di-tau EDM:
+
+.. code-block:: bash 
+
+    svn co svn+ssh://svn.cern.ch/reps/atlasoff/Event/xAOD/xAODTau/trunk ./xAODTau/
+
+In your RootCore executable you have to include the DiTauJetContainer header:
+
+.. code-block:: c++
+    
+    #include "xAODTau/DiTauJetContainer.h"
+
+In your ``execute ()`` function do the following
+
+.. code-block:: c++
+  
+    // get the event
+    xAOD::TEvent* event = wk()->xaodEvent();
+    // get the di-tau container
+    const xAOD::DiTauJetContainer* xDiTauJetContainer = 0;
+    if ( !event->retrieve(xDiTauJetContainer, "DiTauJets").isSuccess() ) {
+        Error("execute()", "Failed to retrieve DiTauJetContainer") );
+        return EL::StatusCode::FAILURE;
+    }
+
+Now you can loop over the di-tau candidates of the event and access their variables, e.g.:
+
+.. code-block:: c++
+  
+    for (const auto* ditau: *xDiTauContainer){
+      // di-tau pt
+      pt = ditau->pt()
+
+      // number of subjets
+      n = ditau->nSubjets()
+
+      // pt of the leading subjet
+      pt = subjetPt(0)
+      // pt of the subleading subjet
+      pt = subjetPt(1)
+
+      // f_core of the leading subjet (only if cell information was provided in sample production)
+      fCoreLead = ditau->fCore(0)
+      // f_core of the subleading subjet (only if cell information was provided in sample production)
+      fCoreSubl = ditau->fCore(1)
+
+
+To see all variables available in the DiTau EDM consult `DiTauJet_v1.cxx <https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTau/trunk/Root/DiTauJet_v1.cxx>`_ in ``Event/xAOD/xAODTau``.
+
+|
+|
+|
+|
diff --git a/Reconstruction/DiTauRec/python/DiTauBuilder.py b/Reconstruction/DiTauRec/python/DiTauBuilder.py
index 786c5e0aa26f56ad8a35d9e094d2df4ba50a986a..eba03f923b39b71079269acbdc0c1dc4e45ecfeb 100644
--- a/Reconstruction/DiTauRec/python/DiTauBuilder.py
+++ b/Reconstruction/DiTauRec/python/DiTauBuilder.py
@@ -8,18 +8,10 @@ from AthenaCommon.GlobalFlags import globalflags
 from RecExConfig.Configured import Configured
 
 # global tauRec config keys
-_outputType = "xAOD::DiTauJetContainer"
 _outputKey = "DiTauJets"
 _outputAuxType = "xAOD::DiTauJetAuxContainer"
 _outputAuxKey = "DiTauJetsAux."
 _jet_container = "AntiKt10LCTopoJets"
-_R_jet = 1.0                # seed jet radius  ... TODO check correct implementation in tools
-_R_subjet = 0.2             # subjet radius  ... TODO check correct implementation in tools
-_R_core = 0.1               # subjet core radius  ... TODO check correct implementation in tools
-_do_cell_finding = True     # enable cell finder
-_write_jet_cells = True     # write seed jet cell information in xAOD
-_write_subjet_cells = True  # write subjet cell information in xAOD
-_use_cells = True           # use cells in ID variable calculations
 
 
 class DiTauBuilder(Configured):
@@ -55,6 +47,8 @@ class DiTauBuilder(Configured):
         # DiTauRec Tools
         # ---------------------------------------------------------------
         import DiTauRec.DiTauAlgorithmsHolder as DiTauAlgs
+        from DiTauRec.DiTauRecFlags import diTauFlags
+        from DiTauRec.DiTauRecConf import DiTauBuilder
 
         tools = []
         tools.append(DiTauAlgs.getSeedJetBuilder(_jet_container))
@@ -62,20 +56,21 @@ class DiTauBuilder(Configured):
         tools.append(DiTauAlgs.getSubjetBuilder())
         from InDetRecExample.InDetJobProperties import InDetFlags
         from JetRec.JetRecFlags import jetFlags
-        if InDetFlags.doVertexFinding() and jetFlags.useTracks():
+        if (InDetFlags.doVertexFinding() and jetFlags.useTracks()) or diTauFlags.doVtxFinding:
             tools.append(DiTauAlgs.getVertexFinder())
             pass
         tools.append(DiTauAlgs.getDiTauTrackFinder())
-        if _do_cell_finding:
-            tools.append(DiTauAlgs.getCellFinder(_write_jet_cells, _write_subjet_cells))
+        if diTauFlags.doCellFinding:
+            tools.append(DiTauAlgs.getCellFinder(self.write_jet_cells, self.write_subjet_cells))
             pass
-        tools.append(DiTauAlgs.getIDVarCalculator(_use_cells))
+
+        if not diTauFlags.doCellFinding:
+            self.use_cells = False
+        tools.append(DiTauAlgs.getIDVarCalculator(self.use_cells))
 
         # ---------------------------------------------------------------
         # add DiTauBuilder to Algorithm Sequence
         # ---------------------------------------------------------------
-        from DiTauRec.DiTauRecFlags import diTauFlags
-        from DiTauRec.DiTauRecConf import DiTauBuilder
         DiTauBuilder = DiTauBuilder(
             name=self.name,
             DiTauContainer=_outputKey,
@@ -85,9 +80,9 @@ class DiTauBuilder(Configured):
             minPt=diTauFlags.diTauRecJetSeedPt(),
             maxEta=2.5,
             OutputLevel=3,
-            Rjet=_R_jet,
-            Rsubjet=_R_subjet,
-            Rcore=_R_core)
+            Rjet=self.R_jet,
+            Rsubjet=self.R_subjet,
+            Rcore=self.R_core)
 
         topSequence += DiTauBuilder
         #print topSequence
diff --git a/Reconstruction/DiTauRec/python/DiTauRecFlags.py b/Reconstruction/DiTauRec/python/DiTauRecFlags.py
index e7a0c1e538ef62d585bd168d60ee9419a6bd3023..ddce6d6ef53456e07d982a66e3ef213e22fadc4a 100644
--- a/Reconstruction/DiTauRec/python/DiTauRecFlags.py
+++ b/Reconstruction/DiTauRec/python/DiTauRecFlags.py
@@ -37,6 +37,13 @@ class diTauRecJetSeedPt(JobProperty):
     statusOn=True
     allowedTypes=['float']
     StoredValue=300000
+
+class doVtxFinding(JobProperty):
+    """ force Vertex Finding on, needed in non standard production
+    """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=False
     
 
 
@@ -48,6 +55,15 @@ class doRunDiTauDiscriminant(JobProperty):
     StoredValue=True
 
 
+class doCellFinding(JobProperty):
+    """ switch of cell handling
+    """
+    statusOn=True
+    allowedTypes=['bool']
+    StoredValue=True
+
+
+
 # Defines a sub-container for the algorithm switches
 class DiTauRecFlags(JobPropertyContainer):
     """ tau information """
@@ -56,7 +72,7 @@ class DiTauRecFlags(JobPropertyContainer):
 jobproperties.add_Container(DiTauRecFlags)
 
 # I want always the following flags in the Rec container  
-_list_tau=[Enabled,doDiTauRec,diTauRecJetSeedPt,doRunDiTauDiscriminant]
+_list_tau=[Enabled,doDiTauRec,diTauRecJetSeedPt,doVtxFinding,doRunDiTauDiscriminant,doCellFinding,]
 for j in _list_tau: 
     jobproperties.DiTauRecFlags.add_JobProperty(j)
 del _list_tau
diff --git a/Reconstruction/DiTauRec/share/DiTauRecAOD_config.py b/Reconstruction/DiTauRec/share/DiTauRecAOD_config.py
new file mode 100644
index 0000000000000000000000000000000000000000..b92dba84bd9e6dce87a63a9f7416debae60ad10c
--- /dev/null
+++ b/Reconstruction/DiTauRec/share/DiTauRecAOD_config.py
@@ -0,0 +1,53 @@
+################################################################################
+##
+#@file DiTauRecAOD_config.py
+#
+#@brief Main RecExCommon entry point for the DiTau reconstruction to run on AOD
+#
+# This file calls the dedicated main jobOptions of DiTauRec. 
+# Checks make sure that detector conditions are valid to run tau reconstruction.
+#
+################################################################################
+from RecExConfig.RecFlags import rec 
+from DiTauRec.DiTauRecFlags import jobproperties
+from JetRec.JetRecFlags import jobproperties
+from AthenaCommon.BeamFlags import jobproperties
+import traceback
+
+if rec.readAOD() :
+    _DiTauFail=True
+
+    # the main ditau reconstruction part
+    try:    
+        include( "DiTauRec/DiTauRec_jobOptions.py" )
+        _DiTauFail=False
+    except Exception:
+        print traceback.format_exc()
+        treatException("Could not set up merged DiTauRec. Switched off !")
+
+else:
+    if jobproperties.DiTauRecFlags.doDiTauRec():
+        jobproperties.DiTauRecFlags.doDiTauRec=False
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Reconstruction/DiTauRec/src/DiTauBuilder.cxx b/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
index 512f6d6bad4e5657fc4cf748ef043c7bb319243d..d1aed9a29a421f74328eb31b4a1227d2a05331ad 100644
--- a/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
+++ b/Reconstruction/DiTauRec/src/DiTauBuilder.cxx
@@ -152,7 +152,7 @@ StatusCode DiTauBuilder::execute() {
 
         // seed cuts
         if (fabs(seed->pt()) < m_minPt) continue;
-        if (fabs(seed->eta() > m_maxEta)) continue;
+        if (fabs(seed->eta()) > m_maxEta) continue;
 
         // cuts passed
         rDiTauData.seed = seed;
diff --git a/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx b/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
index 317d3f286252610c60f6b90c762defb52c6b14a5..6c7e05369ac456593268076f3287c26eda866b8c 100644
--- a/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
+++ b/Reconstruction/DiTauRec/src/DiTauTrackFinder.cxx
@@ -137,7 +137,7 @@ StatusCode DiTauTrackFinder::execute(DiTauCandidateData * data) {
         ATH_MSG_DEBUG("number of tracks in subjet: "<< nTracks);
         if (nTracks == 0) {
             ATH_MSG_DEBUG("number of tracks is zero. Drop subjet");
-            vSubjets.erase(subjet_itr);
+            subjet_itr = vSubjets.erase(subjet_itr); //point subjet_itr to the next element/end of the vector
         }
         else {
             ++subjet_itr;
diff --git a/Reconstruction/DiTauRec/src/ElMuFinder.cxx b/Reconstruction/DiTauRec/src/ElMuFinder.cxx
index 5f4f8bd90de4c6e66f03a842e3c1e89e52928272..6ff496b6c31f7f1227f67d9d55cedc1564c0c5f9 100644
--- a/Reconstruction/DiTauRec/src/ElMuFinder.cxx
+++ b/Reconstruction/DiTauRec/src/ElMuFinder.cxx
@@ -55,7 +55,7 @@ ElMuFinder::~ElMuFinder() {
 //-------------------------------------------------------------------------
 
 StatusCode ElMuFinder::initialize() {
-    CP::MuonSelectionTool m_muSelectionTool("MuonSelection_forDiTau");
+  CP::MuonSelectionTool m_muSelectionTool("MuonSelection_forDiTau");
     m_muSelectionTool.setProperty("MaxEta", 2.7);
     m_muSelectionTool.setProperty("MuQuality", 2);
     if (m_muSelectionTool.initialize().isFailure()) {
@@ -137,8 +137,10 @@ StatusCode ElMuFinder::execute(DiTauCandidateData * data) {
     for (const auto& mu : *pMuCont) {
         ATH_MSG_DEBUG("muon pt:" << mu->pt() << " eta:" << mu->eta() << " ");
         // if (m_muSelectionTool.accept(*mu))
-        if (m_muSelectionTool.getQuality(*mu) >= m_muQual && std::abs(mu->eta()) >= m_muMaxEta)
-            continue;
+	xAOD::Muon::Quality muonQuality = mu->quality();
+	if (muonQuality >= m_muQual && std::abs(mu->eta()) >= m_muMaxEta) continue;
+        //if (m_muSelectionTool->getQuality(*mu) >= m_muQual && std::abs(mu->eta()) >= m_muMaxEta)
+	//continue;
 
         // electron inside seed jet area?
         dR = Tau1P3PKineUtils::deltaR(data->seed->eta(), data->seed->phi(), mu->eta(), mu->phi());
@@ -153,4 +155,4 @@ StatusCode ElMuFinder::execute(DiTauCandidateData * data) {
 
 
     return StatusCode::SUCCESS;
-}
\ No newline at end of file
+}
diff --git a/Reconstruction/DiTauRec/src/VertexFinder.cxx b/Reconstruction/DiTauRec/src/VertexFinder.cxx
index afaf4b229829a93f130b35f512cb66c6026814fa..e384456480bd92adb05edfe6bf2a71ce0c11adfd 100644
--- a/Reconstruction/DiTauRec/src/VertexFinder.cxx
+++ b/Reconstruction/DiTauRec/src/VertexFinder.cxx
@@ -21,7 +21,8 @@ VertexFinder::VertexFinder(const std::string& type,
     DiTauToolBase(type, name, parent),
     m_primVtxContainerName("PrimaryVertices"),
     m_assocTracksName("GhostTrack"),
-    m_trackVertexAssocName("JetTrackVtxAssoc_forDiTaus")
+    m_trackVertexAssocName("JetTrackVtxAssoc_forDiTaus"),
+    m_maxJVF(-100)
 {
     declareInterface<DiTauToolBase > (this);
     declareProperty("PrimVtxContainerName", m_primVtxContainerName);